Je développe un jeu spatial 2D pour les appareils mobiles, mais il devient vraiment complexe et ma solution est vraiment déroutante et produit de nombreux segments de code répétés.
J'ai une classe mondiale dans laquelle j'ai des listes multibles d'objets différents comme:
List<Enemy> enemys;
List<Projectile> projectiles;
List<Collectable> collectables;
List<Asteroid> asteroids;
List<Effect> effects;
..
Chaque liste est mise à jour par la classe mondiale. mais ce n'est pas tout .. Chaque ennemi a une liste de moteurs et une liste de lanceurs d'armes qui sont mis à jour par l'ennemi. Désormais, chaque moteur ajoute des effets de feu aux «effets» de la liste mondiale, et chaque lanceur d'armes ajoute des projectiles à la liste des «projectiles» de la liste mondiale. Toutes ces classes ont des paramètres différents, j'ai donc besoin d'une mise à jour supplémentaire ET d'une fonction de rendu supplémentaire pour chaque classe.
Au moins, ils sont tous des enfants de 'GameObject' qui leur fournit des éléments de base comme la position, la vitesse et les vecteurs d'accélération, des polygones de délimitation et des fonctions comme applyForce et une machine à états finis
Existe-t-il une façon meilleure ou plus courante de procéder? comme une classe fourre-tout qui contient tous les paramètres et méthodes possibles pour tous les différents objets. (Je pense que cela produirait un code encore plus déroutant)