diff --git a/src/game/scripting/context_initializer.cpp b/src/game/scripting/context_initializer.cpp index 7c2b140..88d5711 100644 --- a/src/game/scripting/context_initializer.cpp +++ b/src/game/scripting/context_initializer.cpp @@ -236,7 +236,7 @@ namespace game MessageBoxA(nullptr, string.data(), nullptr, 0); }), "alert"); - const auto level_id = *game::native::levelEntityId; + const auto level_id = *native::levelEntityId; chai->add_global(chaiscript::var(entity(context, level_id)), "level"); } } diff --git a/src/game/scripting/event_handler.cpp b/src/game/scripting/event_handler.cpp index c1d5db8..df594e6 100644 --- a/src/game/scripting/event_handler.cpp +++ b/src/game/scripting/event_handler.cpp @@ -94,6 +94,12 @@ namespace game return {listener.id}; } + void event_handler::clear() + { + this->event_listeners_.clear(); + this->generic_event_listeners_.clear(); + } + void event_handler::remove(const event_listener_handle& handle) { for (auto task : this->event_listeners_) diff --git a/src/game/scripting/event_handler.hpp b/src/game/scripting/event_handler.hpp index d8f6c5e..603a1d5 100644 --- a/src/game/scripting/event_handler.hpp +++ b/src/game/scripting/event_handler.hpp @@ -42,6 +42,8 @@ namespace game event_listener_handle add_event_listener(event_listener listener); event_listener_handle add_event_listener(generic_event_listener listener); + void clear(); + private: context* context_; std::atomic_int64_t current_listener_id_ = 0; diff --git a/src/game/scripting/scheduler.cpp b/src/game/scripting/scheduler.cpp index 0deff9e..5c1db76 100644 --- a/src/game/scripting/scheduler.cpp +++ b/src/game/scripting/scheduler.cpp @@ -56,6 +56,11 @@ namespace game } } + void scheduler::clear() + { + this->tasks_.clear(); + } + task_handle scheduler::add(const std::function& callback, const long long milliseconds, const bool is_volatile) { diff --git a/src/game/scripting/scheduler.hpp b/src/game/scripting/scheduler.hpp index 5b36534..7370d6d 100644 --- a/src/game/scripting/scheduler.hpp +++ b/src/game/scripting/scheduler.hpp @@ -28,6 +28,7 @@ namespace game explicit scheduler(context* context); void run_frame(); + void clear(); private: context* context_;