#ifndef __SCOP_GRAPHICS_NARRATOR__ #define __SCOP_GRAPHICS_NARRATOR__ #include #include #include #include #include namespace Scop { class Narrator { friend Scene; public: Narrator() = default; inline void AttachScript(std::shared_ptr script) { p_script = script; } inline ~Narrator() { if(p_script) p_script->OnQuit(); } private: inline void Update(NonOwningPtr scene, class Inputs& input, float timestep) { if(p_script) p_script->OnUpdate(scene, input, timestep); } private: std::shared_ptr p_script; }; } #endif