Es handelt sich um eine Abwandlung der Tower Defense Games. In meinem Spiel wird es zwei Hauptarten von Gebäuden geben:
- Die Tower
Die werden vom User platziert und werden dann automatisch auf die kommenden Gegner schiessen. Der User kann die Tower anklicken und dann ihre Stufe aufwerten( In einem kleinen Menü)
- Gebäude in der Basis
In der Basis kann der Spieler einige Gebäude platzieren, dazu gehören, Forschungsgebäude, Rochstoff erzeugende Gebäude .... . Diese Gebäude kann der Spieler auch anklicken und wieder über ein kleines Menü mit ihnen interagieren. Je nach Gebäude natürlich komplett anders, zB forschen oder aufwerten oder andere Dinge.
Ich dachte mir ich schreibe eine Klasse, die ich jetzt einfach mal GebäudeManager nenne. Der GebäudeManager enthält zwei Vektoren (einmal Tower und einmal Basis Gebäude). Der GebäudeManager verwaltet also die ganzen Gebäude. Er ruft ihre Update Methoden auf, kümmert sich um das anklick-Verhalten und zeichnet ausserdem die Gebäude (nochmal zwei Vektoren, welche die "grafischen Gebäude" enthalten).
So in etwas, mache ich das im Regelfall, also dass eine Klasse für ein Gebäude gibt, welche alle Methoden und Variablen in sich vereint (also gegenteilig zu TGGC's Version) und eine zweite, für die grafische komponente.
Kann man das so als "richtig" absegnen, oder sollte ich es lieber anders machen, zB Klasse pro Funktion (TGGC)?