[MeshInstanceRendererSystem] // 自前で実装したSystem L [PlayerInputeSystem](プレイヤー入力) L [GenerateSystem](Entityの生成周り) [Original World] // ▽ ComponentSystem // 自前で実装したSystem L [MyTransformSystem] L [MyRendererSystem] L [PlayerInputeSystem](プレイヤー入力) L [GenerateSystem](Entityの生成周り) ※上記のComponentSystemの並びは適当(実行順ではない)。名前も厳密に言うと少し違う。 ※Defaultについては他にも登録されるComponentSystemが幾つかあるが↑のは例なので割愛。 ・デフォルトで用意されているComponentSystemはオレンジ色表記 ・自作のComponentSystemは水色表記。
MeshInstanceRenderer L PlayerData Entity (Enemy) L Position L LocalToWorld L MeshInstanceRenderer L EnemyData Entity (EnemyGenerator) L EnemyGenerateData TransformSystem 共通取得条件 : Position/Rotation/Scaleのどれかを持っていたら処理 →以下のEntityが処理される。 ・Entity(Player) : Position/Rotation/Scale ・Entity(Enemy) : Position
MeshInstanceRenderer L PlayerData Entity (Enemy) L Position L LocalToWorld L MeshInstanceRenderer L EnemyData Entity (EnemyGenerator) L EnemyGenerateData TransformSystem 共通取得条件 : Position/Rotation/Scaleのどれかを持っていたら処理 →以下のEntityが処理される。 ・Entity(Player) : Position/Rotation/Scale ・Entity(Enemy) : Position RendererSystem 共通取得条件 : LocalToWorldとMeshInstRendererの両方を持っていたら処理 →以下のEntityが処理される。 ・Entity(Player) : LocalToWorld/MeshInstRenderer ・Entity(Enemy) : LocalToWorld/MeshInstRenderer