working on chunk generation

This commit is contained in:
Kbz-8
2025-05-09 09:37:23 +02:00
parent 998033fd4b
commit 332ef1fc41
18 changed files with 242 additions and 155 deletions

View File

@@ -44,6 +44,25 @@ namespace Scop
std::function<void(NonOwningPtr<class Scene>, NonOwningPtr<class Sprite>, class Inputs&, float)> f_on_update;
std::function<void(NonOwningPtr<class Sprite>)> f_on_quit;
};
class NativeNarratorScript : public NarratorScript
{
public:
NativeNarratorScript(std::function<void()> on_init, std::function<void(NonOwningPtr<class Scene>, class Inputs&, float)> on_update, std::function<void()> on_quit)
: f_on_init(std::move(on_init)), f_on_update(std::move(on_update)), f_on_quit(std::move(on_quit))
{}
inline void OnInit() override { if(f_on_init) f_on_init(); }
inline void OnUpdate(NonOwningPtr<class Scene> scene, class Inputs& input, float delta) override { if(f_on_update) f_on_update(scene, input, delta); }
inline void OnQuit() override { if(f_on_quit) f_on_quit(); }
~NativeNarratorScript() = default;
private:
std::function<void()> f_on_init;
std::function<void(NonOwningPtr<class Scene>, class Inputs&, float)> f_on_update;
std::function<void()> f_on_quit;
};
}
#endif

View File

@@ -28,6 +28,18 @@ namespace Scop
virtual ~SpriteScript() = default;
};
class NarratorScript
{
public:
NarratorScript() = default;
virtual void OnInit() = 0;
virtual void OnUpdate(NonOwningPtr<class Scene> scene, class Inputs& input, float delta) = 0;
virtual void OnQuit() = 0;
virtual ~NarratorScript() = default;
};
}
#endif