Tôi đang phát triển một trò chơi không gian 2D cho các thiết bị di động, nhưng nó thực sự phức tạp và giải pháp của tôi thực sự khó hiểu và tạo ra nhiều phân đoạn mã lặp đi lặp lại.
Tôi có một lớp thế giới trong đó tôi có nhiều danh sách các đối tượng khác nhau như:
List<Enemy> enemys;
List<Projectile> projectiles;
List<Collectable> collectables;
List<Asteroid> asteroids;
List<Effect> effects;
..
Mỗi danh sách được cập nhật bởi đẳng cấp thế giới. nhưng đó không phải là tất cả .. Mỗi kẻ thù có một danh sách các động cơ và danh sách các vũ khí được kẻ thù cập nhật. Giờ đây, mỗi động cơ sẽ thêm một số hiệu ứng lửa vào danh sách thế giới 'hiệu ứng' và mỗi động cơ vũ khí sẽ thêm đạn vào danh sách thế giới 'đạn'. Tất cả các lớp này có tham số khác nhau, vì vậy tôi cần cập nhật thêm VÀ chức năng kết xuất thêm cho mỗi lớp.
Ít nhất họ đều là con của 'GameObject', cung cấp cho họ những thứ cơ bản như vectơ vị trí, vận tốc và gia tốc, đa giác và các chức năng như áp dụngForce và một máy trạng thái hữu hạn
Có cách nào tốt hơn hoặc phổ biến hơn để làm điều này? giống như một lớp bắt tất cả có chứa tất cả các tham số và phương thức có thể cho tất cả các đối tượng khác nhau. (tôi nghĩ rằng điều này sẽ tạo ra mã khó hiểu hơn nữa)