From 56c99c086fd14ee1b1131cb7df18c1b55ede5519 Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Sun, 24 Nov 2024 12:51:55 +1100 Subject: scriptable chat --- source/frontend/StarBaseScriptPane.cpp | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'source/frontend/StarBaseScriptPane.cpp') diff --git a/source/frontend/StarBaseScriptPane.cpp b/source/frontend/StarBaseScriptPane.cpp index bfeebb7..63dbd08 100644 --- a/source/frontend/StarBaseScriptPane.cpp +++ b/source/frontend/StarBaseScriptPane.cpp @@ -14,7 +14,7 @@ namespace Star { -BaseScriptPane::BaseScriptPane(Json config) : Pane(), m_rawConfig(config) { +BaseScriptPane::BaseScriptPane(Json config, bool construct) : Pane(), m_rawConfig(config) { auto& root = Root::singleton(); auto assets = root.assets(); @@ -35,15 +35,8 @@ BaseScriptPane::BaseScriptPane(Json config) : Pane(), m_rawConfig(config) { }); } - m_reader->construct(assets->fetchJson(m_config.get("gui")), this); - - for (auto pair : m_config.getObject("canvasClickCallbacks", {})) - m_canvasClickCallbacks.set(findChild(pair.first), pair.second.toString()); - for (auto pair : m_config.getObject("canvasKeyCallbacks", {})) - m_canvasKeyCallbacks.set(findChild(pair.first), pair.second.toString()); - - m_script.setScripts(jsonToStringList(m_config.get("scripts", JsonArray()))); - m_script.setUpdateDelta(m_config.getUInt("scriptDelta", 1)); + if (construct) + this->construct(assets->fetchJson(m_config.get("gui"))); m_callbacksAdded = false; } @@ -140,4 +133,16 @@ GuiReaderPtr BaseScriptPane::reader() { return m_reader; } +void BaseScriptPane::construct(Json config) { + m_reader->construct(config, this); + + for (auto pair : m_config.getObject("canvasClickCallbacks", {})) + m_canvasClickCallbacks.set(findChild(pair.first), pair.second.toString()); + for (auto pair : m_config.getObject("canvasKeyCallbacks", {})) + m_canvasKeyCallbacks.set(findChild(pair.first), pair.second.toString()); + + m_script.setScripts(jsonToStringList(m_config.get("scripts", JsonArray()))); + m_script.setUpdateDelta(m_config.getUInt("scriptDelta", 1)); +} + } -- cgit v1.2.3