Marco3jp / GameForMeProject

The repository name is a tentative name. The concept is as it is in this title.
MIT License
0 stars 0 forks source link

デバイスインプットを司るサービスを作る #15

Closed Marco3jp closed 2 years ago

Marco3jp commented 2 years ago

barControllerPositionNotifier.tsというあまり好みではない名前のサービスがあるんですけど、こいつのやっていることとか、キーボードの入力とかをサービスに対して流してくサービスを作りたい 別に特定のサービスに対してだけ流すわけじゃなくて、すべてのサービスに対して流して、それぞれのサービスがほしいなら使えばいいし、いらないなら使わなければ良い(もしくは単に外部向けにonKeypressを公開するか否かでも構わん気はするけど)

というのは、単に入力を受け取るための実装が色々あるのもびみょ〜だし、特定のサービスを発火させるためのサービスがそれぞれ爆誕すると、今後入力に依存するなにか作るたびに2つサービス建てることになってめんどくさい〜っていう

Marco3jp commented 2 years ago

あー、これ、サービスに対して流すのかコンポーネントに対して流すのかどうするのがいいんだろう?

Marco3jp commented 2 years ago

別にコンポーネントは描画を伴う必要はないので、イベントはすべて service -> component -> service のようにcomponentを介したほうがいい気がした(根拠は特にないが……ないの???) 一旦この方針で揃えて書いてみたので、やっぱ無理かも〜ってなったら変えてください(そうですか……)


一応補足しておくと、原則としてなにかから使われるものなので、そもそもの話でいうとイベントリスナーをserviceに作っているのが間違いなのかな、という気は部分的に思っている けど、collisionCheckerみたいなものがあるので、どうしても service -> component -> service のように service -> service が発生することは避けられない気がしている

あー、ていうかcollisionCheckerのロジック、本来はそれぞれのコンポーネントがonTickでコールするように実装しないとだめじゃん、理解っちゃった…… :pro: :god: