diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-11-24 12:51:55 +1100 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-11-24 12:51:55 +1100 |
commit | 56c99c086fd14ee1b1131cb7df18c1b55ede5519 (patch) | |
tree | 2374579586f961063f0cab46ff6beb921149327e /source/frontend/StarBaseScriptPane.cpp | |
parent | d4c976bcb3ec75c94298c6b8776487809367498b (diff) |
scriptable chat
Diffstat (limited to 'source/frontend/StarBaseScriptPane.cpp')
-rw-r--r-- | source/frontend/StarBaseScriptPane.cpp | 25 |
1 files changed, 15 insertions, 10 deletions
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<CanvasWidget>(pair.first), pair.second.toString()); - for (auto pair : m_config.getObject("canvasKeyCallbacks", {})) - m_canvasKeyCallbacks.set(findChild<CanvasWidget>(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<CanvasWidget>(pair.first), pair.second.toString()); + for (auto pair : m_config.getObject("canvasKeyCallbacks", {})) + m_canvasKeyCallbacks.set(findChild<CanvasWidget>(pair.first), pair.second.toString()); + + m_script.setScripts(jsonToStringList(m_config.get("scripts", JsonArray()))); + m_script.setUpdateDelta(m_config.getUInt("scriptDelta", 1)); +} + } |