Sto sviluppando un gioco spaziale 2D per dispositivi mobili, ma diventa davvero complesso e la mia soluzione è davvero confusa e produce molti segmenti di codice ripetuti.
Ho una classe mondiale in cui ho liste multiple di oggetti diversi come:
List<Enemy> enemys;
List<Projectile> projectiles;
List<Collectable> collectables;
List<Asteroid> asteroids;
List<Effect> effects;
..
Ogni elenco viene aggiornato dalla classe mondiale. ma non è tutto .. Ogni nemico ha un elenco di motori e un elenco di lanciatori di armi che viene aggiornato dal nemico. Ora ogni motore aggiunge alcuni effetti di fuoco agli "effetti" della lista mondiale e ogni lanciatore di armi aggiunge proiettili alla lista "proiettili" della lista mondiale. Tutte queste classi hanno parametri diversi, quindi ho bisogno di un aggiornamento extra e di una funzione di rendering extra per ogni classe.
Almeno sono tutti figli di "GameObject" che fornisce loro elementi di base come posizione, velocità e accelerazione, poligoni che delimitano e funzioni come applyForce e una macchina a stati finiti
C'è un modo migliore o più comune per farlo? come una classe catch-all che contiene tutti i possibili parametri e metodi per tutti i diversi oggetti. (penso che questo produrrebbe un codice ancora più confuso)