キャラクタリストの編集 その2

キャラクタリストの編集内容がマップ編集ウィンドウに反映されるようにしました。
今日の差分
ほとんど昨日のコードの流用です。
複数のウィンドウで共有するデータが多くて、その受け渡しでソースがごちゃごちゃしています。要整理です。


多分、いろんなものがファイル名やGUIDで記録されていて、それをプログラム中でもそのままの形で扱っているのがマズいんだと思います。
例えば、マップ編集ウィンドウにキャラクタを描画するためには、

  1. マップデータ(agm-yh)
  2. GUIDとキャラクタ定義(agc-yh)の対応表
  3. ファイル名とスプライト情報(ags-yh)の対応表

が必要になっています。
このうち2と3はマップ編集ウィンドウでは追加や削除をしたりしなくて、単に個々のキャラクタのスプライト情報を調べるために表を辿っているに過ぎません。
なので、ファイルから読み込んだ時点でGUIDやファイル名を対応するオブジェクトのポインタに置き換えておけば、必要最低限のデータを渡すだけで済むはずです。
保存時に再びGUIDやファイル名に戻す必要はありますが、なんとかなるでしょう。
表を引く手間も省けるので、ゲーム側でも同じ変更をしたほうがよいでしょうね。