====== Typen von Entities ====== Hier sind die verschiedenen Typen von Spielobjekten (Entities), die im Spiel Verwendung finden, aufgeführt, zusammen mit den Abhängigkeiten und ein paar Anmerkungen. ===== Inheritance Tree ===== {{z:entities.jpg|}} ===== Anmerkungen ===== === Entity === Basisklasse, hält das zugehörige Renderable und die Position und Orientierung im 3D-Raum. === Projectile === Ein Projektil, das von einer Waffe abgefeuert wurde. Steuert das Projektil abhängig von der Bewegungsart und ist zuständig für den Zusammenprall mit anderen Entities. === LandEntity === Eine auf dem Terrain stehende Entity. Verwaltet die Position in reinem 2D auf dem Terrain. Die LandEntity besitzt eine Bounding Area (Kreis oder Rechteck), die für die Steering Behaviours relevant sind und teilweise für die Pfadsuche. Auch definiert sie Hitpoints und Hitboxen, da LandEntities prinzipiell zerstörbar sind. === Bridge === Momentan noch außen vor. Ich bin nicht ganz sicher, ob sie wirklich eine Unterart der LandEntity ist. === Decoration === Statische Objekte auf der Karte, wie Bäume, Felsen etc.. Erlauben zwei zusätzliche Freiheitsgrade der Drehung, um Dekorationen zu kippen. === ControlledEntity === Eine ControlledEntity gehört einem Spieler und nimmt von diesem Befehle entgegen. Es gibt ein Interface für alle möglichen Befehle sowie eine Abfrage, ob diese Entity den jeweiligen Befehl verarbeiten kann: * Bewegen * Attack Move * Angreifen * Position halten / Feind folgen * Produzieren * Sammelpunkt setzen * Einsteigen (in ein Fahrzeug / Geschütz) * Einladen (Transporter) * Produzieren (Fabriken) * An anderen Spieler geben Das Interface für die Befehle kommt an diese Stelle, da das GUI an dieser Stelle wissen muss, was es mit den Entities machen kann. === Flag === Eine Sektorflagge. Unzerstörbar, aber kann an andere Spieler gegeben werden. === Factory === Ein Produktionsgebäude (als Spezialisierung das Fort, fehlt im Baum). Kann Einheiten und Geschütze produzieren und Sammelpunkte festlegen. === Turret === Ein Geschütz, quasi eine stationäre bewaffnete Entity. === MovableEntity === Eine Entity, die sich bewegen kann. Sie verfügt über einen Steering Motor, der über eine Liste von aktiven Steering Behaviours die Position und Orientierung der Entity ändert. === Robot === Ein Roboter. === Vehicle === Ein Fahrzeug. === Transporter === Ein spezialisiertes Fahrzeug, das über zusätzliche Plätze und Waffen für weitere Roboter verfügt. ===== Waffen ===== Entities können über eine oder mehrere (Transporter) Waffen verfügen. Aus diesem Grund sind die Waffen eine Komponente und formen keine Unterart der Entities mehr. Die Waffenkomponente ist zuständig für Drehung und Abfeuerung der Waffe und wird gesteuert von einem Charakter. Angriffsbefehle können offenbar nur von den Entities verarbeitet werden, die wenigstens eine Waffe besitzen.