このまえのROでいうところの露店の看板を表示する時と同様の問題がまた。これはパターン発見なのか?今度は受けた攻撃の種類や強さ、それをどういう風に表現するかを知っている層と、それを画面に表示する正確なタイミングを知っている層が全然別という状態(というかそういう状態を固持しておきたい気分)になっている。

変な喩え。各キャラクタは他のキャラクタが行う行動の詳細を予め知らされており、その詳細に基づいて変動を自らに適用する信号を受け取るボタンをつくる。ボタンは細長いコードがキャラクタ自身にまで繋がっている。聴覚検査で持たされるボタンのような、あんな感じのもの。行動シーケンスを起動する層は、起動する前に各キャラクタからこのボタンを受け取って、コードを束ねて、行動シーケンス再生オブジェクトに渡してやる。行動シーケンス再生オブジェクトは適切なタイミングになったら受け取ったボタンの全部を押す。攻撃がヒットしたかしないかは、そういった判断が必要ならば各キャラクタが判断する。ヒットのエフェクトやダメージの数字などは各キャラクタが個別に表示する。

行動シーケンス起動層はすべてのキャラクタを参照しなくていいようにしたいな。ボタンの束がもらえるだけでいいんだし。

どうやらボタン束の仲介者は行動シーケンス起動層じゃなくて別個に作ったほうがよさそうだ。行動の詳細を登録して、その詳細に基づいた変動を各キャラクタが適用するコード付きボタンの束を取得するクラス。行動シーケンス起動層は行動シーケンス起動時には必ずコード付きボタンの束を要求するようにすればよい。

キャラクタ管理層の一機能にしてしまおう。キャラクタ全部への参照をもっているのはそこしかないし。それ以外に増やしたくもないし。