모바일 장치 용 2D 우주 게임을 개발하고 있지만 실제로 복잡해지고 솔루션이 실제로 혼란스럽고 반복되는 많은 코드 세그먼트를 생성합니다.
나는 다음과 같은 다른 객체의 다중 목록을 가진 세계적 수준을 가지고 있습니다.
List<Enemy> enemys;
List<Projectile> projectiles;
List<Collectable> collectables;
List<Asteroid> asteroids;
List<Effect> effects;
..
각 목록은 월드 클래스에 의해 업데이트됩니다. 그러나 전부는 아닙니다. 각 적에게는 엔진 목록과 적에 의해 업데이트되는 무기 런처 목록이 있습니다. 이제 각 엔진은 월드리스트 '효과'에 불 효과를 추가하고, 각 무기 발사기는 월드리스트 '발사체'에 발사체를 추가합니다. 이 모든 클래스에는 다른 매개 변수가 있으므로 각 클래스마다 추가 업데이트 및 추가 렌더링 기능이 필요합니다.
적어도 그들은 위치, 속도 및 가속도 벡터, 경계 다각형 및 applyForce 및 유한 상태 기계와 같은 함수와 같은 기본 사항을 제공하는 'GameObject'의 모든 자식입니다.
이 작업을 수행하는 더 낫거나 더 일반적인 방법이 있습니까? 모든 다른 객체에 대해 가능한 모든 매개 변수와 메소드를 포함하는 하나의 포괄 클래스와 같습니다. (이것은 훨씬 더 혼란스러운 코드를 생성 할 것이라고 생각합니다)