Mobil cihazlar için 2D bir uzay oyunu geliştiriyorum, ancak gerçekten karmaşıklaşıyor ve çözümüm gerçekten kafa karıştırıcı ve çok sayıda tekrarlanan kod segmenti üretiyor.
Ben hava gibi farklı nesnenin multible listeleri var bir dünya sınıfı:
List<Enemy> enemys;
List<Projectile> projectiles;
List<Collectable> collectables;
List<Asteroid> asteroids;
List<Effect> effects;
..
Her liste dünya sınıfı tarafından güncellenir. ama hepsi bu değil .. Her düşmanın bir motor listesi ve düşman tarafından güncellenen silah listesi var. Artık her motor, dünya listesindeki 'efektlere' bazı yangın efektleri ekliyor ve her silahlı silah, dünya listesindeki 'mermilere' mermi ekliyor. Tüm bu sınıflar farklı parametre var, bu yüzden her sınıf için ekstra bir güncelleme VE ekstra render işlevi gerekir.
En azından hepsi, konum, hız ve ivme vektörleri, sınırlayıcı çokgenler ve ApplyForce ve sonlu durum makinesi gibi işlevler gibi temel şeyleri sağlayan 'GameObject' in çocuklarıdır.
Bunu yapmanın daha iyi veya daha yaygın bir yolu var mı? tüm farklı nesneler için olası tüm parametreleri ve yöntemleri içeren bir tümünü yakala sınıfı gibi. (bu daha da kafa karıştırıcı kod üreteceğini düşünüyorum)