rrbox / ecs-swift

Entity Component System for swift
MIT License
3 stars 0 forks source link

Graphic : データ指向にする #51

Open rrbox opened 10 months ago

rrbox commented 10 months ago

position, zRotation については、SpriteKit 側の物理演算の結果を component に反映させる必要があるので、双方向バインディングにします(didSimulatePhisics)。

その他のデータは ECS → SpriteKit の単方向のデータバインディングのみで十分となるはずです。

各プロパティを別々に管理するためには、各プロパティのデータを別のコンポーネントで管理することになると思われます。そこで #50 を利用して Graphic 用バンドルを予め用意しておくと便利かと思います。

rrbox commented 10 months ago
rrbox commented 8 months ago

Node に entity が設定されているか否か、によって「ECS の管理下に置かれているか否か」が判定できると思います。setGraphic(_:) のときにこの判定を行い、ECS 管理下に置かれていた場合は fatal error にするといいかもしれません。

rrbox commented 1 month ago

CurrentValueSubject を使用する方法もあるよ!