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.
35 lines
625 B
35 lines
625 B
#ifndef SCRIPT_SYSTEM_H |
|
#define SCRIPT_SYSTEM_H |
|
|
|
#include <cstdint> // uint32_t |
|
|
|
namespace Inferno { |
|
|
|
struct NativeScriptComponent; |
|
struct LuaScriptComponent; |
|
|
|
class Scene; |
|
|
|
class ScriptSystem { |
|
public: |
|
void initialize(); |
|
void destroy(); |
|
void update(float deltaTime); |
|
|
|
void cleanup(uint32_t entity); |
|
void cleanup(NativeScriptComponent& nativeScript); |
|
void cleanup(LuaScriptComponent& luaScript); |
|
|
|
void setScene(Scene* scene) { m_scene = scene; } |
|
|
|
static inline ScriptSystem& the() { return *s_instance; } |
|
|
|
private: |
|
Scene* m_scene; |
|
|
|
static ScriptSystem* s_instance; |
|
}; |
|
|
|
} |
|
|
|
#endif // SCRIPT_SYSTEM_H
|
|
|