diff --git a/include/scriptutility.h b/include/scriptutility.h index e7cbc0cf..bcc475d5 100644 --- a/include/scriptutility.h +++ b/include/scriptutility.h @@ -39,6 +39,16 @@ public: Q_INVOKABLE void setMetatileLayerOrder(QList order); Q_INVOKABLE QList getMetatileLayerOpacity(); Q_INVOKABLE void setMetatileLayerOpacity(QList order); + Q_INVOKABLE QList getMapNames(); + Q_INVOKABLE QList getTilesetNames(); + Q_INVOKABLE QList getPrimaryTilesetNames(); + Q_INVOKABLE QList getSecondaryTilesetNames(); + Q_INVOKABLE QList getMetatileBehaviorNames(); + Q_INVOKABLE QList getSongNames(); + Q_INVOKABLE QList getLocationNames(); + Q_INVOKABLE QList getWeatherNames(); + Q_INVOKABLE QList getMapTypeNames(); + Q_INVOKABLE QList getBattleSceneNames(); Q_INVOKABLE bool isPrimaryTileset(QString tilesetName); Q_INVOKABLE bool isSecondaryTileset(QString tilesetName); diff --git a/src/scriptapi/apiutility.cpp b/src/scriptapi/apiutility.cpp index 16ca967d..c37fb2c5 100644 --- a/src/scriptapi/apiutility.cpp +++ b/src/scriptapi/apiutility.cpp @@ -211,14 +211,70 @@ void ScriptUtility::setMetatileLayerOpacity(QList order) { window->refreshAfterPalettePreviewChange(); } -bool ScriptUtility::isPrimaryTileset(QString tilesetName) { +QList ScriptUtility::getMapNames() { if (!window || !window->editor || !window->editor->project) - return false; - return window->editor->project->tilesetLabels["primary"].contains(tilesetName); + return QList(); + return window->editor->project->mapNames; +} + +QList ScriptUtility::getTilesetNames() { + if (!window || !window->editor || !window->editor->project) + return QList(); + return window->editor->project->tilesetLabelsOrdered; +} + +QList ScriptUtility::getPrimaryTilesetNames() { + if (!window || !window->editor || !window->editor->project) + return QList(); + return window->editor->project->tilesetLabels["primary"]; +} + +QList ScriptUtility::getSecondaryTilesetNames() { + if (!window || !window->editor || !window->editor->project) + return QList(); + return window->editor->project->tilesetLabels["secondary"]; +} + +QList ScriptUtility::getMetatileBehaviorNames() { + if (!window || !window->editor || !window->editor->project) + return QList(); + return window->editor->project->metatileBehaviorMap.keys(); +} + +QList ScriptUtility::getSongNames() { + if (!window || !window->editor || !window->editor->project) + return QList(); + return window->editor->project->songNames; +} + +QList ScriptUtility::getLocationNames() { + if (!window || !window->editor || !window->editor->project) + return QList(); + return window->editor->project->mapSectionNameToValue.keys(); +} + +QList ScriptUtility::getWeatherNames() { + if (!window || !window->editor || !window->editor->project) + return QList(); + return window->editor->project->weatherNames; +} + +QList ScriptUtility::getMapTypeNames() { + if (!window || !window->editor || !window->editor->project) + return QList(); + return window->editor->project->mapTypes; +} + +QList ScriptUtility::getBattleSceneNames() { + if (!window || !window->editor || !window->editor->project) + return QList(); + return window->editor->project->mapBattleScenes; +} + +bool ScriptUtility::isPrimaryTileset(QString tilesetName) { + return getPrimaryTilesetNames().contains(tilesetName); } bool ScriptUtility::isSecondaryTileset(QString tilesetName) { - if (!window || !window->editor || !window->editor->project) - return false; - return window->editor->project->tilesetLabels["secondary"].contains(tilesetName); + return getSecondaryTilesetNames().contains(tilesetName); }