お世話になります。
件名のように特定のアイテムだけを残した状態で他を一括削除したいと考えてます。
周回するゲームを作る過程で必要なのですがアイテム量が非常に膨大で今回質問させていただきました。
何か良い案はありますでしょうか?
【解決済み】特定のアイテムだけ残して他は削除したい
【解決済み】特定のアイテムだけ残して他は削除したい
最後に編集したユーザー バルガ [ 2024年6月22日(土) 22:36 ], 累計 1 回
Re: 特定のアイテムだけ残して他は削除したい
{id : 個数}のObjectでアイテム管理しているのでfilterも使えないしfor-inあたりでチェックするのが妥当では。
まずアイテムのメモ欄に<周回持越>というタグを付け
武器・防具も同様です。リセットだけならば{}代入だけでも良いですけど。
無いとは思いますけどアクターが装備している武器・防具、
及びそのアクターをパーティから外した状態の場合は対象外です。
まずアイテムのメモ欄に<周回持越>というタグを付け
コード: 全て選択
const tempItems = {};
for (let id in $gameParty._items) {
if ($dataItems[id].meta['周回持越']) tempItems[id] = $gameParty._items[id];
}
$gameParty._items = tempItems;
コード: 全て選択
const tempWeapons = {};
for (let id in $gameParty._weapons) {
if ($dataWeapons[id].meta['周回持越']) tempWeapons[id] = $gameParty._weapons[id];
}
$gameParty._weapons = tempWeapons;
コード: 全て選択
const tempArmors = {};
for (let id in $gameParty._armors) {
if ($dataArmors[id].meta['周回持越']) tempArmors[id] = $gameParty._armors[id];
}
$gameParty._armors = tempArmors;
及びそのアクターをパーティから外した状態の場合は対象外です。
Re: 特定のアイテムだけ残して他は削除したい
返信が遅れて申し訳ありません。
名無し蛙さん、教えていただきありがとうございました!
無事思っていたことが可能になり非常に助かりました!
これで処理も楽に行なえるようになり、更に多くのアイテムを増やせそうです。
アクターに関しては全て初期化してしまうので問題ありません。
本当に頭を悩ませていたので…重ね重ねですが、本当にありがとうございました!
名無し蛙さん、教えていただきありがとうございました!
無事思っていたことが可能になり非常に助かりました!
これで処理も楽に行なえるようになり、更に多くのアイテムを増やせそうです。
アクターに関しては全て初期化してしまうので問題ありません。
本当に頭を悩ませていたので…重ね重ねですが、本当にありがとうございました!