Open rrbox opened 10 months ago
position, zRotation については、SpriteKit 側の物理演算の結果を component に反映させる必要があるので、双方向バインディングにします(didSimulatePhisics)。
その他のデータは ECS → SpriteKit の単方向のデータバインディングのみで十分となるはずです。
各プロパティを別々に管理するためには、各プロパティのデータを別のコンポーネントで管理することになると思われます。そこで #50 を利用して Graphic 用バンドルを予め用意しておくと便利かと思います。
Node に entity が設定されているか否か、によって「ECS の管理下に置かれているか否か」が判定できると思います。setGraphic(_:) のときにこの判定を行い、ECS 管理下に置かれていた場合は fatal error にするといいかもしれません。
setGraphic(_:)
CurrentValueSubject を使用する方法もあるよ!
position, zRotation については、SpriteKit 側の物理演算の結果を component に反映させる必要があるので、双方向バインディングにします(didSimulatePhisics)。
その他のデータは ECS → SpriteKit の単方向のデータバインディングのみで十分となるはずです。
各プロパティを別々に管理するためには、各プロパティのデータを別のコンポーネントで管理することになると思われます。そこで #50 を利用して Graphic 用バンドルを予め用意しておくと便利かと思います。