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 Simulationclass. | 
| 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 qSymbolname. | 
| GetSimObject | Retrieves a simulation object by its u32unique 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.
