rrbox / ecs-swift

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

Object binding, Node binding は追加機能にする #3

Closed rrbox closed 7 months ago

rrbox commented 1 year ago

クラスで実装された実体は、Binding を使わなくても Component ととして使用することが可能です。ただし、クラスは参照型なので、Component の実体以外の参照からコントロールすることが可能となってしまう欠点があります(複数の参照から操作可能な実体は不具合の原因になりやすいですよねー)。複数の参照を防ぐ方法として、 binding を使用して構造体とクラスを相互反映させる方法が考えられます。ただしこの方法は実装が複雑になりやすく(特にデータバインディング部分)、実装が過剰になりがちです。

上記のような問題を解決するために、以下のように方針を決めました。

rrbox commented 1 year ago

強参照と unowned 参照両方をコンポーネントとして保持するのもやり方だと思います。

rrbox commented 1 year ago

強参照と unowned 参照両方をコンポーネントとして保持するのもやり方だと思います。

ObjectLink モジュールとして追加機能を提供することにします

rrbox commented 7 months ago

モジュールは分離しました。 Object link や graphic の実装の詳細は別途 issue を立てて考えます。