#ifndef SCRIPT_SYSTEM_H_FD8A95B3 #define SCRIPT_SYSTEM_H_FD8A95B3 #include #include #include #include #include "system.h" class Game; class ScriptSystem : public System { public: static constexpr SystemKey Key = SystemKey::Script; explicit ScriptSystem(Game& game); void tick(double dt) override; void runScript(std::string name); private: Game& game_; sol::state engine_; std::unique_ptr runner_; std::unique_ptr callable_; std::set loadedScripts_; }; #endif /* end of include guard: SCRIPT_SYSTEM_H_FD8A95B3 */