CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
World.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
10#include "EntityManager.hpp"
11#include "EventManager.hpp"
12#include "SystemManager.hpp"
13
14namespace CeresEngine {
15
16 class Scene;
17
18 class World {
20
21 public:
24
27
31
35
38 Scene* const scene = nullptr;
39
41 explicit World() = default;
42
44 explicit World(Scene& scene) : scene(&scene) {}
45
46 virtual ~World() = default;
47
48 public:
50 };
51
52} // namespace CeresEngine
#define CE_REFLECTABLE_CLASS
Definition IReflectable.hpp:38
Definition ActionManager.hpp:26
Definition EventManager.hpp:24
Definition EntityManager.hpp:49
A resource that stores scene information.
Definition Scene.hpp:83
The system manager is responsible for keeping track and dispatching updates to all attached systems.
Definition SystemManager.hpp:22
Definition World.hpp:18
virtual ~World()=default
Vector< Entity > getEntities() const
EntityActionManager actions
A manager that can be used to dispatch actions in this world.
Definition World.hpp:26
EntityEventManager events
A manager that can be used to listen for events in this world.
Definition World.hpp:23
SystemManager systems
The world system manager.
Definition World.hpp:34
World(Scene &scene)
Creates a new world for a scene.
Definition World.hpp:44
Scene *const scene
The scene that owns this world.
Definition World.hpp:38
World()=default
Creates a new world.
EntityManager entities
The world entity manager.
Definition World.hpp:30
Definition Application.hpp:19
std::vector< T, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > > Vector
Vector is a sequence container that encapsulates dynamic size arrays.
Definition Vector.hpp:17
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25