summaryrefslogtreecommitdiffhomepage
path: root/src/critter-script.hpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2024-05-03 18:42:09 +0200
committerStanislaw Halik <sthalik@misaki.pl>2024-05-05 03:16:22 +0200
commite5a80257216d76f5033b4120f348f309ca7764f1 (patch)
tree6544f3ada808214beb7915704f317aba98966e88 /src/critter-script.hpp
parentba91cb1393274072721e1c31db0c7f73dc9c9db7 (diff)
a wip
Diffstat (limited to 'src/critter-script.hpp')
-rw-r--r--src/critter-script.hpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/critter-script.hpp b/src/critter-script.hpp
index 934e9154..dbfe9dd8 100644
--- a/src/critter-script.hpp
+++ b/src/critter-script.hpp
@@ -7,15 +7,21 @@ namespace floormat {
struct critter;
struct Ns;
+struct point;
+struct path_search_result;
+
struct critter_script : base_script
{
+ constexpr critter_script() noexcept = default;
~critter_script() noexcept override;
virtual void on_init(const std::shared_ptr<critter>& c) = 0;
+ // todo can_activate, activate
virtual void on_update(const std::shared_ptr<critter>& c, size_t& i, const Ns& dt) = 0;
virtual void on_destroy(const std::shared_ptr<critter>& c, script_destroy_reason reason) = 0;
virtual void delete_self() = 0;
- // todo can_activate, activate
+
+ [[nodiscard]] static critter_script* make_walk_script(point to, path_search_result path);
};
} // namespace floormat