
* fix: script manager and lua scripts: change the api so that the m_scripts array is only modified in a specific safe location: before it gets ticked. * fix script manager: don't expose the script vector directly, for multithreading safety * fix lua manager usage: don't iterate the module array without locking, nor un/load module from a script thread * lua script: only do actual loading of lua modules in script mgr * lua native bindin: fix pointer parameters, out C style parameters are returned as multiple return values lua-style
27 lines
602 B
C++
27 lines
602 B
C++
#include "gui/components/components.hpp"
|
|
#include "script_mgr.hpp"
|
|
#include "view_debug.hpp"
|
|
|
|
namespace big
|
|
{
|
|
void debug::scripts()
|
|
{
|
|
if (ImGui::BeginTabItem("DEBUG_TAB_SCRIPTS"_T.data()))
|
|
{
|
|
components::sub_title("DEBUG_SCRIPTS_SUB_TITLE"_T);
|
|
|
|
g_script_mgr.for_each_script([](const auto& script) {
|
|
|
|
if (script->is_toggleable())
|
|
{
|
|
if (ImGui::Checkbox(script->name(), script->toggle_ptr()))
|
|
{
|
|
g_notification_service->push(std::string(script->name()).append(" script"), script->is_enabled() ? "Resumed" : "Halted");
|
|
}
|
|
}
|
|
});
|
|
|
|
ImGui::EndTabItem();
|
|
}
|
|
}
|
|
} |