|
Nui Engine
A game engine framework
|
World class - the main context for the engine. More...
#include <World.h>
Public Member Functions | |
| World () | |
| World constructor - initializes the ECS context. | |
| ~World ()=default | |
| Default destructor. | |
| World (const World &)=delete | |
| World (World &&)=delete | |
| World | operator= (const World &)=delete |
| World | operator= (World &&)=delete |
Public Member Functions inherited from Nui::ECS::Context | |
| Context () | |
| Constructs a new ECS context. | |
| virtual | ~Context () |
| Destroys the ECS context. | |
| U64 | GetEntityCount () const noexcept |
| Gets the total count of entities in the ECS context. | |
| Entity * | GetEntityById (U64 id) |
| Retrieves an entity by its unique identifier. | |
| Entity * | GetEntityByIndex (U64 index) |
| Retrieves an entity by its index. | |
| Entity * | CreateEntity () |
| Creates a new entity in the ECS context. | |
| void | DestroyEntity (Entity *e, bool immediate=false) |
| Destroys an entity in the ECS context. | |
| bool | ClearPending () |
| Clears all entities pending destruction in the ECS context. | |
| void | Reset () |
| Resets the ECS context, clearing all entities but keeping the systems. | |
| template<typename T , typename... Args> requires IsSystem<T> | |
| T * | RegisterSystem (Args &&... args) |
| Registers a new system in the ECS context. | |
| template<typename T > requires IsSystem<T> | |
| void | UnregisterSystem () |
| Unregisters a system from the ECS context. | |
| void | UnregisterAllSystems () |
| Un-registers all systems from the ECS context. | |
| template<typename T > requires IsSystem<T> | |
| T * | GetSystem () |
| Gets a system from the ECS context. | |
| template<typename T > requires IsSystem<T> | |
| void | EnableSystem () |
| Enables a system in the ECS context. | |
| template<typename T > requires IsSystem<T> | |
| void | DisableSystem () |
| Disables a system in the ECS context. | |
| template<typename T > requires IsSystem<T> | |
| bool | IsSystmEnabled () |
| Checks if a system is enabled in the ECS context. | |
| template<typename T > | |
| void | SubscribeEvent (EventSubscriber< T > *subscriber) |
| Subscribes to an event in the ECS context. | |
| template<typename T > | |
| void | UnsubscribeEvent (EventSubscriber< T > *subscriber) |
| Unsubscribes from an event in the ECS context. | |
| void | UnsubscribeAll (void *subscriber) |
| Un-subscribes from all events in the ECS context (usually called in the system destructor) | |
| template<typename T > | |
| void | EmitEvent (const T &event) |
| Emits an event in the ECS context to all subscribers. | |
| template<typename... Types> | |
| Internal::EntityComponentView< Types... > | Each (bool includePendingDestroy=false) |
| Iterates over all entities in the ECS context (used in ranged loops) | |
| template<typename... Types> | |
| void | Each (typename std::common_type< std::function< void(Entity *, ComponentHandle< Types >...)> >::type viewFunc, bool includePendingDestroy=false) |
| Iterates over all entities in the ECS context (using a lambda/function) | |
| Internal::EntityView | All (bool includePendingDestroy=false) |
| Iterates over all entities in the ECS context (used in ranged loops) | |
| void | All (std::function< void(Entity *)> viewFunc, bool includePendingDestroy=false) |
| Iterates over all entities in the ECS context (using a lambda/function) | |
| void | Tick (const F64 dt) |
| Updates the ECS context (updates all the systems) | |
Friends | |
| class | AppBase |
Additional Inherited Members | |
Public Types inherited from Nui::ECS::Context | |
| using | SubscriberMap = std::unordered_map<TypeIndex, std::vector<Internal::EventSubscriberBase*>, std::hash<TypeIndex>, std::equal_to<TypeIndex>> |
| Unordered map of subscribers to array of events subscriber base pointers. | |
World class - the main context for the engine.