デザイン変更と設計ミス
やらかした。デザイン変更の適用がめちゃくちゃ面倒!!!
設計段階で想定してなかった画面演出を追加することにしたんですが、その動きが抽象的な処理と一致しなくなってしまったので覚悟決めて抽象の方から作り直すことにしました。
具体的に言うと図のような感じ。
リストとして保持することで状態変化を無制限に持てるシステムにも発展できるように拡張性を与えていたのですが、画面に反映するときに対応するオブジェクトとして生成するんじゃなく先頭から順に値を画面内のオブジェクトに反映する形にしてたんですね。
結果、演出が常時入っているとリストが操作された際に演出先のオブジェクトが切り替わることになってややこしくなる。なのでオブジェクトとリストが完全にリンクするように作り直す必要があるというわけ。そうしてリンクさせようとするとリスト内での順番に応じて定位置の変更があったりとか割とめんどい。
最初から割り切って配列でやってたら画面上の初期オブジェクトと単純な1対1として構成できたわけで。いらん拡張性を持たせて逆に面倒にしてしまったパターン。
どうせ画面のゴチャゴチャとかメモリ溢れとかの問題を発生させないために無尽蔵に生成できるルールは避けるんだし、最初から定数個にしておけばよかった。
演出を豪華にするなら抽象と画面との対応性を意識して設計しようといういい教訓だな。
(無限個生成可能なシステムにするならするで動的に生成させるべきで、実に中途半端な設計をしてしまった……)
約6時間分の作業をこれでロスした。
今日の10分お絵描き