「コンポーネント」オブジェクトのリストを持つクラス「エンティティ」があります。現在、「コンポーネント」は一連の異なるサブクラスの単なるルート クラスであり、各サブクラスはエンティティごとに 1 回だけ表すことができます。特定のタイプの「コンポーネント」を取得したいのですが、どうすればよいですか?
説明するのは少し難しいですが、ここに私がしたいことのコード例があります:
class Component {...} // The root class
class CompA : Component {...} // A type of Component
class Entity { List<Component> components; } // Entity with a list of component
...
Entity entity = new Entity(); // Create a new entity
entity.components.Add(new CompA()); // Add a component of type 'CompA'
CompA c = entity.GetComponent<CompA>(); // This is what I'd like to do :)