読者です 読者をやめる 読者になる 読者になる

C#でEventManager作った

 

作った

そこらじゅうにActionを置くのと、どこからどの機能がコールバック発火して飛んでるのかわからんのが地獄すぎたので作成

GameManagerとかのMono非継承のstaticインスタンスあたりでnewすればUnityでも使えるよ

 

gistec74e89d9f146dd88d1959f3538fc2de

 

いい結果

Actionの宣言の大幅な削減に成功(keyに置き換わった)

EventManagerを全て経由するので、コールバックフローがLogで可視化できる

keyとAddEventとRemoveEventをBaseクラスにロジックとして仕込むことでRemove忘れのnull参照回避ができる

それぞれのActionに対して参照を得る必要がなくなった(最高)

 

悪い結果

keyが多い

引数ないのでカスタマイズ性がない

他の人がこれ使わないでAction追加してキレた

 

まとめ

総合的に見ると結構使いやすい

オーバーヘッドとオブジェクト志向の関係上大型プロジェクトには向かない

 

おわり。