You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
619 B
34 lines
619 B
#ifndef SCRIPT_SYSTEM_H |
|
#define SCRIPT_SYSTEM_H |
|
|
|
#include <cstdint> // uint32_t |
|
|
|
#include "inferno/singleton.h" |
|
|
|
namespace Inferno { |
|
|
|
struct NativeScriptComponent; |
|
struct LuaScriptComponent; |
|
|
|
class Scene; |
|
|
|
class ScriptSystem final : public Singleton<ScriptSystem> { |
|
public: |
|
ScriptSystem(s); |
|
virtual ~ScriptSystem(); |
|
|
|
void update(float deltaTime); |
|
|
|
void cleanup(uint32_t entity); |
|
void cleanup(NativeScriptComponent& nativeScript); |
|
void cleanup(LuaScriptComponent& luaScript); |
|
|
|
void setScene(Scene* scene) { m_scene = scene; } |
|
|
|
private: |
|
Scene* m_scene { nullptr }; |
|
}; |
|
|
|
} |
|
|
|
#endif // SCRIPT_SYSTEM_H
|
|
|