Copy an array of arbitrary-sized objects to the data payload of the last added command.
Some commands, like SetListeners
, require additional data to complete the payload. First add the command, then call this function to complete the payload. For example:
auto cmd = (AkCmd_SetListeners*)AK_CommandBuffer_Add(buffer, AkCommand_SetListeners);
cmd->gameObjectID = 100;
cmd->numListenerIDs = mylistenerArray.size();
AK_CommandBuffer_AddArray(buffer, sizeof(AkGameObjectID), mylistenerArray.size(), mylistenerArray.data());
Use AK_CommandBuffer_ArraySize to calculate the size required to store the data.
- 参数
-
[in] | in_buffer | Pointer to command buffer |
[in] | item_size | Size (in bytes) of each element in the array. |
[in] | num_items | Number of elements in the array. |
[in] | items | (optional) Pointer to the first element in the array to copy. If NULL, no copy takes place; array space is merely reserved, pointer to the start of the space is returned, and client is responsible for writing to it. |
- 返回
- Pointer to the copied array, or NULL if there is not enough space left in the buffer.