Closed Marco3jp closed 2 years ago
onTickはサービスがコンポーネントマネージャを持てばサービスに置くことができる(サービス -> コンポーネントな関係性) でもonCollisionとか、特定のサービスに叩かれる部分はどうしてもコンポーネントに紐付ける必要があって、サービスを呼び出すにしても依存関係が コンポーネント -> サービス になってしまう
コンポーネントにサービスを注入するしかないか
constructor(args){
this.onCollision = args.services.reflection.handle
}
てきとーだけどこういうこと?
src/component に services.ts を定義する感じ? うーん、んでその定義をservice -> componentに参照する形
ballMoving, barMovingに分けて、それぞれball, barから叩けばよさそう
だけど mouseHandlerComponent.onMouseMove -> barComponent.onMouseMove -> barMovingService.onMouseMove
でいいのかな、ちょっとこの流れだとマウスの位置取得のところがfatになっちゃいそう?
あー、いや、CollisionCheckerみたいにマネージャを突っ込んだサービスを作って、マウスで操作可能な……
う〜〜〜〜〜〜〜ん、流石にそれはでかすぎる、マウスで操作するのそもそもバーくらいしかわからん と思ったけどマウスとまとめて表現するだけじゃなくて、カーソル座標とかクリックとかバラバラにしたほうがいいのかな
というか改めて、単にカーソル座標を取ってくるためのコンポーネントであればコンポーネントである必要がない(相互作用がないので)から、単にサービス内で透明な要素をステージに配置することは許容範囲なのでは
できるようになったよ〜〜〜!