Saya mengembangkan game ruang 2D untuk perangkat seluler, tetapi semakin rumit dan solusi saya benar-benar membingungkan dan menghasilkan banyak segmen kode berulang.
Saya memiliki kelas dunia di mana saya memiliki daftar objek yang berbeda seperti:
List<Enemy> enemys;
List<Projectile> projectiles;
List<Collectable> collectables;
List<Asteroid> asteroids;
List<Effect> effects;
..
Setiap daftar akan diperbarui oleh kelas dunia. tapi bukan itu saja .. Setiap musuh memiliki daftar mesin, dan daftar peluncur senjata yang diperbarui oleh musuh. Sekarang setiap mesin menambahkan beberapa efek api ke 'efek' daftar dunia, dan setiap senjata-senjata menambahkan proyektil ke 'proyektil' daftar dunia. Semua kelas ini memiliki parameter yang berbeda, jadi saya memerlukan pembaruan tambahan dan fungsi render tambahan untuk setiap kelas.
Setidaknya mereka semua adalah anak-anak dari 'GameObject' yang memberikan mereka hal-hal dasar seperti vektor posisi, kecepatan dan akselerasi, mengikat Poligon dan fungsi seperti applyForce dan mesin keadaan terbatas
Apakah ada cara yang lebih baik atau lebih umum untuk melakukan ini? seperti satu kelas catch-all yang berisi semua parameter dan metode yang mungkin untuk semua objek yang berbeda. (saya pikir ini akan menghasilkan kode yang lebih membingungkan)