461 lines
17 KiB
Plaintext
461 lines
17 KiB
Plaintext
/// @addtogroup data Data
|
|
/// @brief Provides a number of data structures for NWN code to use (simulated arrays)
|
|
/// @{
|
|
/// @file nwnx_data.nss
|
|
#include "nwnx"
|
|
|
|
const string NWNX_Data = "NWNX_Data"; ///< @private
|
|
|
|
const int NWNX_DATA_INVALID_INDEX = -1;
|
|
const int NWNX_DATA_TYPE_FLOAT = 0;
|
|
const int NWNX_DATA_TYPE_INTEGER = 1;
|
|
const int NWNX_DATA_TYPE_OBJECT = 2;
|
|
const int NWNX_DATA_TYPE_STRING = 3;
|
|
|
|
/// @defgroup data_array_at Array At
|
|
/// @brief Returns the element at the index.
|
|
/// @ingroup data
|
|
/// @param obj The object.
|
|
/// @param tag The tag.
|
|
/// @param index The index.
|
|
/// @return The element of associated type.
|
|
/// @{
|
|
float NWNX_Data_Array_At_Flt(object obj, string tag, int index);
|
|
int NWNX_Data_Array_At_Int(object obj, string tag, int index);
|
|
object NWNX_Data_Array_At_Obj(object obj, string tag, int index);
|
|
string NWNX_Data_Array_At_Str(object obj, string tag, int index);
|
|
/// @}
|
|
|
|
|
|
/// Clears the entire array, such that size==0.
|
|
void NWNX_Data_Array_Clear(int type, object obj, string tag);
|
|
|
|
/// @defgroup data_array_contains Array Contains
|
|
/// @brief Checks if array contains the element.
|
|
/// @ingroup data
|
|
/// @param obj The object.
|
|
/// @param tag The tag.
|
|
/// @param element The element.
|
|
/// @return TRUE if the collection contains the element.
|
|
/// @{
|
|
int NWNX_Data_Array_Contains_Flt(object obj, string tag, float element);
|
|
int NWNX_Data_Array_Contains_Int(object obj, string tag, int element);
|
|
int NWNX_Data_Array_Contains_Obj(object obj, string tag, object element);
|
|
int NWNX_Data_Array_Contains_Str(object obj, string tag, string element);
|
|
/// @}
|
|
|
|
/// Copies the array of name otherTag over the array of name tag.
|
|
void NWNX_Data_Array_Copy(int type, object obj, string tag, string otherTag);
|
|
|
|
/// Erases the element at index, and shuffles any elements from index size-1 to index + 1 left.
|
|
void NWNX_Data_Array_Erase(int type, object obj, string tag, int index);
|
|
|
|
/// @defgroup data_array_find Array Find
|
|
/// @brief Get the index at which the element is located.
|
|
/// @ingroup data
|
|
/// @param obj The object.
|
|
/// @param tag The tag.
|
|
/// @param element The element.
|
|
/// @return Returns the index at which the element is located, or ARRAY_INVALID_INDEX.
|
|
/// @{
|
|
int NWNX_Data_Array_Find_Flt(object obj, string tag, float element);
|
|
int NWNX_Data_Array_Find_Int(object obj, string tag, int element);
|
|
int NWNX_Data_Array_Find_Obj(object obj, string tag, object element);
|
|
int NWNX_Data_Array_Find_Str(object obj, string tag, string element);
|
|
/// @}
|
|
|
|
/// @defgroup data_array_insert Array Insert
|
|
/// @brief Inserts the element at the index, where size > index >= 0.
|
|
/// @ingroup data
|
|
/// @param obj The object.
|
|
/// @param tag The tag.
|
|
/// @param index The index.
|
|
/// @param element The element.
|
|
/// @{
|
|
void NWNX_Data_Array_Insert_Flt(object obj, string tag, int index, float element);
|
|
void NWNX_Data_Array_Insert_Int(object obj, string tag, int index, int element);
|
|
void NWNX_Data_Array_Insert_Obj(object obj, string tag, int index, object element);
|
|
void NWNX_Data_Array_Insert_Str(object obj, string tag, int index, string element);
|
|
/// @}
|
|
|
|
/// @defgroup data_array_pushback Array Pushback
|
|
/// @brief Pushes an element to the back of the collection.
|
|
/// @remark Functionally identical to an insert at index size-1.
|
|
/// @ingroup data
|
|
/// @param obj The object.
|
|
/// @param tag The tag.
|
|
/// @param element The element.
|
|
/// @{
|
|
void NWNX_Data_Array_PushBack_Flt(object obj, string tag, float element);
|
|
void NWNX_Data_Array_PushBack_Int(object obj, string tag, int element);
|
|
void NWNX_Data_Array_PushBack_Obj(object obj, string tag, object element);
|
|
void NWNX_Data_Array_PushBack_Str(object obj, string tag, string element);
|
|
/// @}
|
|
|
|
/// Resizes the array. If the array is shrinking, it chops off elements at the ned.
|
|
void NWNX_Data_Array_Resize(int type, object obj, string tag, int size);
|
|
|
|
/// Reorders the array such each possible permutation of elements has equal probability of appearance.
|
|
void NWNX_Data_Array_Shuffle(int type, object obj, string tag);
|
|
|
|
/// Returns the size of the array.
|
|
int NWNX_Data_Array_Size(int type, object obj, string tag);
|
|
|
|
/// Sorts the collection based on descending order.
|
|
void NWNX_Data_Array_SortAscending(int type, object obj, string tag);
|
|
|
|
/// Sorts the collection based on descending order.
|
|
void NWNX_Data_Array_SortDescending(int type, object obj, string tag);
|
|
|
|
/// @defgroup data_array_set Array Set
|
|
/// @brief Sets the element at the index, where size > index >= 0.
|
|
/// @ingroup data
|
|
/// @param obj The object.
|
|
/// @param tag The tag.
|
|
/// @param index The index.
|
|
/// @param element The element.
|
|
/// @{
|
|
void NWNX_Data_Array_Set_Flt(object obj, string tag, int index, float element);
|
|
void NWNX_Data_Array_Set_Int(object obj, string tag, int index, int element);
|
|
void NWNX_Data_Array_Set_Obj(object obj, string tag, int index, object element);
|
|
void NWNX_Data_Array_Set_Str(object obj, string tag, int index, string element);
|
|
/// @}
|
|
|
|
/// @}
|
|
|
|
float NWNX_Data_Array_At_Flt(object obj, string tag, int index)
|
|
{
|
|
string sFunc = "ArrayAt";
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_FLOAT);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
return NWNX_GetReturnValueFloat(NWNX_Data, sFunc);
|
|
}
|
|
|
|
int NWNX_Data_Array_At_Int(object obj, string tag, int index)
|
|
{
|
|
string sFunc = "ArrayAt";
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_INTEGER);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
|
|
}
|
|
|
|
object NWNX_Data_Array_At_Obj(object obj, string tag, int index)
|
|
{
|
|
string sFunc = "ArrayAt";
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_OBJECT);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
return NWNX_GetReturnValueObject(NWNX_Data, sFunc);
|
|
}
|
|
|
|
string NWNX_Data_Array_At_Str(object obj, string tag, int index)
|
|
{
|
|
string sFunc = "ArrayAt";
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_STRING);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
return NWNX_GetReturnValueString(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_Clear(int type, object obj, string tag)
|
|
{
|
|
string sFunc = "ArrayClear";
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
int NWNX_Data_Array_Contains_Flt(object obj, string tag, float element)
|
|
{
|
|
string sFunc = "ArrayContains";
|
|
NWNX_PushArgumentFloat(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_FLOAT);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
|
|
}
|
|
|
|
int NWNX_Data_Array_Contains_Int(object obj, string tag, int element)
|
|
{
|
|
string sFunc = "ArrayContains";
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_INTEGER);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
|
|
}
|
|
|
|
int NWNX_Data_Array_Contains_Obj(object obj, string tag, object element)
|
|
{
|
|
string sFunc = "ArrayContains";
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_OBJECT);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
|
|
}
|
|
|
|
int NWNX_Data_Array_Contains_Str(object obj, string tag, string element)
|
|
{
|
|
string sFunc = "ArrayContains";
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_STRING);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_Copy(int type, object obj, string tag, string otherTag)
|
|
{
|
|
string sFunc = "ArrayCopy";
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, otherTag);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_Erase(int type, object obj, string tag, int index)
|
|
{
|
|
string sFunc = "ArrayErase";
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
int NWNX_Data_Array_Find_Flt(object obj, string tag, float element)
|
|
{
|
|
string sFunc = "ArrayFind";
|
|
NWNX_PushArgumentFloat(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_FLOAT);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
|
|
}
|
|
|
|
int NWNX_Data_Array_Find_Int(object obj, string tag, int element)
|
|
{
|
|
string sFunc = "ArrayFind";
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_INTEGER);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
|
|
}
|
|
|
|
int NWNX_Data_Array_Find_Obj(object obj, string tag, object element)
|
|
{
|
|
string sFunc = "ArrayFind";
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_OBJECT);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
|
|
}
|
|
|
|
int NWNX_Data_Array_Find_Str(object obj, string tag, string element)
|
|
{
|
|
string sFunc = "ArrayFind";
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_STRING);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_Insert_Flt(object obj, string tag, int index, float element)
|
|
{
|
|
string sFunc = "ArrayInsert";
|
|
NWNX_PushArgumentFloat(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_FLOAT);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_Insert_Int(object obj, string tag, int index, int element)
|
|
{
|
|
string sFunc = "ArrayInsert";
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_INTEGER);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_Insert_Obj(object obj, string tag, int index, object element)
|
|
{
|
|
string sFunc = "ArrayInsert";
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_OBJECT);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_Insert_Str(object obj, string tag, int index, string element)
|
|
{
|
|
string sFunc = "ArrayInsert";
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_STRING);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_PushBack_Flt(object obj, string tag, float element)
|
|
{
|
|
string sFunc = "ArrayPushBack";
|
|
NWNX_PushArgumentFloat(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_FLOAT);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_PushBack_Int(object obj, string tag, int element)
|
|
{
|
|
string sFunc = "ArrayPushBack";
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_INTEGER);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_PushBack_Obj(object obj, string tag, object element)
|
|
{
|
|
string sFunc = "ArrayPushBack";
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_OBJECT);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_PushBack_Str(object obj, string tag, string element)
|
|
{
|
|
string sFunc = "ArrayPushBack";
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_STRING);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_Resize(int type, object obj, string tag, int size)
|
|
{
|
|
string sFunc = "ArrayResize";
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, size);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_Shuffle(int type, object obj, string tag)
|
|
{
|
|
string sFunc = "ArrayShuffle";
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
int NWNX_Data_Array_Size(int type, object obj, string tag)
|
|
{
|
|
string sFunc = "ArraySize";
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_SortAscending(int type, object obj, string tag)
|
|
{
|
|
string sFunc = "ArraySortAscending";
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_SortDescending(int type, object obj, string tag)
|
|
{
|
|
string sFunc = "ArraySortDescending";
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_Set_Flt(object obj, string tag, int index, float element)
|
|
{
|
|
string sFunc = "ArraySet";
|
|
NWNX_PushArgumentFloat(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_FLOAT);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_Set_Int(object obj, string tag, int index, int element)
|
|
{
|
|
string sFunc = "ArraySet";
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_INTEGER);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_Set_Obj(object obj, string tag, int index, object element)
|
|
{
|
|
string sFunc = "ArraySet";
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data,sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_OBJECT);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|
|
|
|
void NWNX_Data_Array_Set_Str(object obj, string tag, int index, string element)
|
|
{
|
|
string sFunc = "ArraySet";
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, element);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
|
|
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
|
|
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
|
|
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_STRING);
|
|
NWNX_CallFunction(NWNX_Data, sFunc);
|
|
}
|