CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
ScriptingSystem.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 "Component.hpp"
11
13
15
16namespace CeresEngine {
17
18 class CE_SCRIPT_EXPORT() ScriptingSystem : public System<ScriptingSystem, EntityObjectSet<ScriptedObject>> {
19 private:
22
23 public:
25 explicit ScriptingSystem();
26
28 ~ScriptingSystem() override;
29
30 public:
32 void update(double time) override;
33
34 private:
36 void didAdd(const ScriptedObject& entity) noexcept override;
37
39 void didRemove(const ScriptedObject& entity) noexcept override;
40 };
41
42} // namespace CeresEngine
#define CE_SCRIPT_EXPORT(...)
The CE_SCRIPT_EXPORT macro marks a class or method as exportable and available in scripting environme...
Definition Macros.hpp:247
An entity type with an associated script.
Definition Component.hpp:43
Definition ScriptingSystem.hpp:18
void update(double time) override
ScriptingSystem()
Creates a new ScriptingSystem instance.
void didRemove(const ScriptedObject &entity) noexcept override
~ScriptingSystem() override
Destroys the ScriptingSystem instance.
Vector< ScriptedObject > mScriptObjects
A vector of all registered script objects.
Definition ScriptingSystem.hpp:21
void didAdd(const ScriptedObject &entity) noexcept override
A system is a special kind of service that is managed internally by the SystemManager.
Definition System.hpp:168
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