From ff85214cadd9bf1ec4e311e6956c1fc993d2eb62 Mon Sep 17 00:00:00 2001 From: plasma <6374339+elleonard@users.noreply.github.com> Date: Wed, 28 Feb 2024 12:02:59 +0900 Subject: [PATCH] =?UTF-8?q?1.1.1=20TypeScript=E7=A7=BB=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DarkPlasma_NoseForTreasure.js | 35 ------------------- .../DarkPlasma_NoseForTreasure.ts | 33 +++++++++++++++++ .../NoseForTreasure/NoseForTreasure.d.ts | 5 +++ src/codes/NoseForTreasure/config.yml | 15 ++++---- 4 files changed, 47 insertions(+), 41 deletions(-) delete mode 100644 src/codes/NoseForTreasure/DarkPlasma_NoseForTreasure.js create mode 100644 src/codes/NoseForTreasure/DarkPlasma_NoseForTreasure.ts create mode 100644 src/codes/NoseForTreasure/NoseForTreasure.d.ts diff --git a/src/codes/NoseForTreasure/DarkPlasma_NoseForTreasure.js b/src/codes/NoseForTreasure/DarkPlasma_NoseForTreasure.js deleted file mode 100644 index c9b7832f..00000000 --- a/src/codes/NoseForTreasure/DarkPlasma_NoseForTreasure.js +++ /dev/null @@ -1,35 +0,0 @@ -import { pluginName } from '../../common/pluginName'; - -const PLUGIN_COMMANDS = { - NOSE_FOR_TREASURE: 'noseForTreasure', -}; - -PluginManager.registerCommand(pluginName, PLUGIN_COMMANDS.NOSE_FOR_TREASURE, function (args) { - const tag = String(args.tag); - const variableId = Number(args.variableId); - const selfSwitches = JSON.parse(args.selfSwitches).map((e) => { - const parsed = JSON.parse(e); - return { - name: String(parsed.name), - state: String(parsed.state) === 'true', - }; - }); - const targetEvents = $gameMap - .events() - .filter( - (gameEvent) => - gameEvent.event().meta[tag] && - selfSwitches.every( - (selfSwitch) => $gameSelfSwitches.value(gameEvent.selfSwitchKey(selfSwitch.name)) === selfSwitch.state - ) - ); - $gameVariables.setValue(variableId, targetEvents.length); - const balloon = Number(args.balloon); - if (balloon) { - targetEvents.forEach((event) => $gameTemp.requestBalloon(event, balloon)); - } -}); - -Game_Event.prototype.selfSwitchKey = function (selfSwitchCh) { - return [this._mapId, this._eventId, selfSwitchCh]; -}; diff --git a/src/codes/NoseForTreasure/DarkPlasma_NoseForTreasure.ts b/src/codes/NoseForTreasure/DarkPlasma_NoseForTreasure.ts new file mode 100644 index 00000000..3e43f5a2 --- /dev/null +++ b/src/codes/NoseForTreasure/DarkPlasma_NoseForTreasure.ts @@ -0,0 +1,33 @@ +/// + +import { pluginName } from '../../common/pluginName'; +import { parseArgs_noseForTreasure } from './_build/DarkPlasma_NoseForTreasure_commands'; + +const PLUGIN_COMMANDS = { + NOSE_FOR_TREASURE: 'noseForTreasure', +}; + +PluginManager.registerCommand(pluginName, PLUGIN_COMMANDS.NOSE_FOR_TREASURE, function (args) { + const parsedArgs = parseArgs_noseForTreasure(args); + const targetEvents = $gameMap + .events() + .filter( + (gameEvent) => + gameEvent.event().meta[parsedArgs.tag] && + parsedArgs.selfSwitches.every( + (selfSwitch) => $gameSelfSwitches.value(gameEvent.selfSwitchKey(selfSwitch.name)) === selfSwitch.state + ) + ); + $gameVariables.setValue(parsedArgs.variableId, targetEvents.length); + if (parsedArgs.balloon) { + targetEvents.forEach((event) => $gameTemp.requestBalloon(event, parsedArgs.balloon)); + } +}); + +function Game_Event_NoseForTreasureMixIn(gameEvent: Game_Event) { + gameEvent.selfSwitchKey = function (selfSwitchCh) { + return [this._mapId, this._eventId, selfSwitchCh]; + }; +} + +Game_Event_NoseForTreasureMixIn(Game_Event.prototype); \ No newline at end of file diff --git a/src/codes/NoseForTreasure/NoseForTreasure.d.ts b/src/codes/NoseForTreasure/NoseForTreasure.d.ts new file mode 100644 index 00000000..51133849 --- /dev/null +++ b/src/codes/NoseForTreasure/NoseForTreasure.d.ts @@ -0,0 +1,5 @@ +/// + +declare interface Game_Event { + selfSwitchKey(selfSwitch: string): [number, number, string]; +} diff --git a/src/codes/NoseForTreasure/config.yml b/src/codes/NoseForTreasure/config.yml index 15a6310f..7861a4aa 100644 --- a/src/codes/NoseForTreasure/config.yml +++ b/src/codes/NoseForTreasure/config.yml @@ -3,14 +3,17 @@ DarkPlasma_NoseForTreasure: year: 2021 license: MIT histories: - - date: '2021/10/23' - version: '1.1.0' + - date: 2024/02/28 + version: 1.1.1 + description: 'TypeScript移行' + - date: 2021/10/23 + version: 1.1.0 description: '特定イベントの上にバルーンを表示する機能を追加' - - date: '2021/10/22' - version: '1.0.1' + - date: 2021/10/22 + version: 1.0.1 description: 'プラグインコマンドの日本語名を追加' - - date: '2021/10/21' - version: '1.0.0' + - date: 2021/10/21 + version: 1.0.0 description: '公開' locates: