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.
37 lines
635 B
37 lines
635 B
/* |
|
* Copyright (C) 2022 Riyyi |
|
* |
|
* SPDX-License-Identifier: MIT |
|
*/ |
|
|
|
#pragma once |
|
|
|
#include <cstdint> // uint32_t |
|
|
|
#include "ruc/singleton.h" |
|
|
|
namespace Inferno { |
|
|
|
struct NativeScriptComponent; |
|
struct LuaScriptComponent; |
|
|
|
class Scene; |
|
|
|
class ScriptSystem final : public ruc::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 }; |
|
}; |
|
|
|
} // namespace Inferno
|
|
|