私はモバイルデバイス用の2Dスペースゲームを開発していますが、それは非常に複雑になり、私のソリューションは本当に混乱し、多くの繰り返しコードセグメントを生成します。
私は次のような異なるオブジェクトの複数のリストを持っている世界クラスを持っています:
List<Enemy> enemys;
List<Projectile> projectiles;
List<Collectable> collectables;
List<Asteroid> asteroids;
List<Effect> effects;
..
各リストは、ワールドクラスによって更新されます。しかし、それだけではありません。各敵には、エンジンのリストと、敵によって更新される武器ランチャーのリストがあります。これで、各エンジンがいくつかの火の効果をワールドリストの「効果」に追加し、各武器の発射者が発射物をワールドリストの「発射体」に追加します。これらすべてのクラスには異なるパラメーターがあるため、クラスごとに追加の更新と追加のレンダリング関数が必要です。
少なくとも、それらはすべて「GameObject」の子であり、位置、速度、加速度ベクトル、境界ポリゴン、applyForceや有限状態マシンなどの関数などの基本的なものを提供します
これを行うためのより良いまたはより一般的な方法はありますか?すべての異なるオブジェクトのすべての可能なパラメーターとメソッドを含む1つのキャッチオールクラスのように。(これはさらに混乱するコードを生成すると思います)