#ifndef __SCOP_SCRIPT__ #define __SCOP_SCRIPT__ #include namespace Scop { class ActorScript { public: ActorScript() = default; virtual void OnInit(NonOwningPtr actor) = 0; virtual void OnUpdate(NonOwningPtr scene, NonOwningPtr actor, class Inputs& input, float delta) = 0; virtual void OnQuit(NonOwningPtr actor) = 0; virtual ~ActorScript() = default; }; class SpriteScript { public: SpriteScript() = default; virtual void OnInit(NonOwningPtr sprite) = 0; virtual void OnUpdate(NonOwningPtr scene, NonOwningPtr sprite, class Inputs& input, float delta) = 0; virtual void OnQuit(NonOwningPtr sprite) = 0; virtual ~SpriteScript() = default; }; class NarratorScript { public: NarratorScript() = default; virtual void OnInit() = 0; virtual void OnUpdate(NonOwningPtr scene, class Inputs& input, float delta) = 0; virtual void OnQuit() = 0; virtual ~NarratorScript() = default; }; } #endif