敵の再初期化処理を実装した

タイムラインを戻したりした時、敵の状態をうまく初期化するための処理を作った。

今までは敵のライフが 0 になった時に GameObject を即座に破棄していたが、ここを UnityEvent で置き換えた。

また、同様に OnEnable で UnityEvent を呼ぶことでランク・ヘイトターゲットの再設定などを行うようにした。

Animator の無効化・有効化を双方で行うことで、その初期化処理も行っている。

現状シリアライズフィールドの設定で極めて漏れが発生しやすい。UnityEvent でカバーしきれない範囲についてはVisual Scriptを使用しており、こちらも間違えやすい。特化可能な処理は適宜特化していく必要がある。

画像1