Overview
The Simulation
class manages all SimObject
instances in the game. It provides functions to create, destroy, and track simulation objects.
Members
Members | Description |
---|---|
mSimObjects | Stores all active simulation objects. |
mSimObjectsToBeDeleted | Stores objects queued for deletion. |
mSimObjectsToBeDeletedRecursively | Stores objects queued for recursive deletion. |
mpLocalPlayer | A safe pointer to the local player object. |
m_aCurrentDestructingObjects | Stores currently destructing objects. |
Methods
Method | Description |
---|---|
Instance | Returns the singleton instance of the Simulation class. |
CreateSimObject | Creates a new simulation object with the specified name. |
DestroyAllSimObjects | Destroys all active simulation objects. |
DestroyQueuedSimObjects | Destroys all simulation objects that have been queued for deletion. |
DestroySimComponent | Destroys a specific simulation component. |
DestroySimObject | Destroys a specific simulation object. |
GenerateUniqueName | Generates a unique name based on the provided root symbol. |
GenerateUniqueName | Generates a unique name based on the provided root string. |
GetSimObject | Retrieves a simulation object by its qSymbol name. |
GetSimObject | Retrieves a simulation object by its u32 unique identifier. |
QueueSimObjectToBeDestroyed | Queues a simulation object for deletion. |
QueueSimObjectToBeDestroyedRecursive | Queues a simulation object for recursive deletion. |
QueueTrackedSimObjectToBeDestroyed | Queues a tracked simulation object for deletion. |
TrackSimObject | Tracks a simulation object. |
UntrackSimObject | Stops tracking a simulation object and returns whether the untracking was successful. |
Instance
const char* Instance();
CreateSimObject
SimObject* CreateSimObject(const qSymbol& name);
DestroyAllSimObjects
void DestroyAllSimObjects();
DestroyQueuedSimObjects
void DestroyQueuedSimObjects();
DestroySimComponent
void DestroySimComponent(SimComponent* component);
DestroySimObject
void DestroySimObject(SimObject* object);
GenerateUniqueName
qSymbol GenerateUniqueName(const qSymbol& root);
GenerateUniqueName
qSymbol GenerateUniqueName(const char* root);
GetSimObject
SimObject* GetSimObject(const qSymbol& name);
GetSimObject
SimObject* GetSimObject(u32 name_uid);
QueueSimObjectToBeDestroyed
void QueueSimObjectToBeDestroyed(SimObject* pSimObj);
QueueSimObjectToBeDestroyedRecursive
void QueueSimObjectToBeDestroyedRecursive(SimObject* pSimObj);
QueueTrackedSimObjectToBeDestroyed
void QueueTrackedSimObjectToBeDestroyed(SimObject* pSimObj);
TrackSimObject
void TrackSimObject(SimObject* pSimObj);
UntrackSimObject
bool UntrackSimObject(SimObject* pSimObj)
Notes
- This class is primarily used to manage game entities dynamically.
- It provides an efficient way to handle object creation, tracking, and destruction within a simulated environment.