Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/frontend/StarBaseScriptPane.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2024-11-24 12:51:55 +1100
committerKae <80987908+Novaenia@users.noreply.github.com>2024-11-24 12:51:55 +1100
commit56c99c086fd14ee1b1131cb7df18c1b55ede5519 (patch)
tree2374579586f961063f0cab46ff6beb921149327e /source/frontend/StarBaseScriptPane.cpp
parentd4c976bcb3ec75c94298c6b8776487809367498b (diff)
scriptable chat
Diffstat (limited to 'source/frontend/StarBaseScriptPane.cpp')
-rw-r--r--source/frontend/StarBaseScriptPane.cpp25
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));
+}
+
}