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.