Я розробляю 2D космічну гру для мобільних пристроїв, але вона стає дуже складною, і моє рішення дуже заплутане і створює безліч повторних сегментів коду.
Я хава світового класу, в якому у мене є множинні списки різних об'єктів, таких як:
List<Enemy> enemys;
List<Projectile> projectiles;
List<Collectable> collectables;
List<Asteroid> asteroids;
List<Effect> effects;
..
Кожен список оновлюється світовим класом. але це ще не все. У кожного ворога є список двигунів, а також список збройових рушників, який ворог оновлює. Тепер кожен двигун додає деякі "вогневі ефекти" до світового списку "ефекти", а кожен зброяр додає снаряди до світового списку "снаряди". Усі ці класи мають різні параметри, тому мені потрібно додаткове оновлення І додаткова функція візуалізації для кожного класу.
Принаймні, всі вони є «GameObject», який надає їм основні речі, такі як вектори позиції, швидкості та прискорення, обмежуючі Полігони та такі функції, як ApplyForce та машина з кінцевим станом
Чи є кращий чи більш поширений спосіб зробити це? як один загальнодоступний клас, який містить усі можливі параметри та методи для всіх різних об'єктів. (я думаю, це призведе до ще більш заплутаного коду)