GameObject Manager / State Manager

DuffCola

Mitglied
HI.
Wie kann ich, wenn ich einen GameObjectManager habe, von einem GameObject im ObjectManager zu einem anderern kommunizieren?
Also z.B., wenn ein GameObject ne Attacke ausführt, sollen z.B. alle anderen GameObjecte eines bestimmten Types, wenn sie sich in einem bestimmten Radius befinden, etwas damage bekommen, wie würde man sowas strukturieren?

Und noch eine Frage, ist es möglich, in einem GameObject eine Selbstzerstörungs Funktion zu machen?(Eigentlich müsste man doch einfach einen zeiger zum GameObjectManager haben oder?)

Und als letztes, ich habe mich bei der Recherche zur generellen Struktur eines Game sumgesehen, und bin immer wieder auf einen "StateManager" Gestoßen, was ist das genau?
 
Hallo,
ich habe leider keine große Erfahrung bezüglich Games, aber vielleicht kann ich dir da trotzdem etwas helfen.
Ich habe im Rahmen eines früheren Projektes etwas genutzt,wie ich deinen StateManager verstehen würde. Dabei konnte ein Objekt bei mir verschiedene Zustände haben, wie zum Beispiel es bewegt sich oder parkt. Das hatte den Sinn, das man für parkende Objekte keine Kollisionsüberprüfung durchführen musste. Vielleicht kannst du so etwas auch für dein Projekt nutzen. In dem Fall weist du deinen Objekten jeweils eine Klasse Zustand zu, indem sie sich befinden, oder alternativ wenn du einen Manager hast übergibst du dem die Objekt ID mit einem Zustand. Dieser kann dann auch alle verwalten und Überflüssige ggf. überspringen.
 
Hallo DuffCola

Die Kommunikation zwischen Objekten passiert über den Teil "Component" im Entity Component System. Diese Einheiten haben eine entsprechende Kampf-Komponente.

Das System arbeitet dann mit dem Komponenten und sorgt auch für die nötigen Schnittstellen.

Bezüglich StateManager:
Verschiedene Komponenten deines Spiels sind nur in gewissen Zuständen aktiv. So sind zum Beispiel UI-Elemente in der Regel an einen gewissen Zustand gebunden (State.MainMenu, State.Loading, State.WorldMap, ...). Wenn du das nun als Zustandsmaschine implementierst ist das sehr angenehm. Jeder Zustand hat eine Menge an Übergängen über die man in einen weiteren Zustand kommt. Ein Beispiel:
MainMenu -> Loading
Loading -> World
World -> MainMenu
World -> WorldMap
WorldMap -> World

Alle anderen Übergänge sind nicht möglich.

Viele Grüsse
Cromon
 
Ogott, dass ist einfach zu kompliziert so, ich kann z.B. mit "Component" im Entity Component System nicht viel anfangen, auch na googlen nicht viel mehr, wie kann ich sowas lernen(Ich meine die Struktur nicht C++), gibt es da gute Bücher oder tutorials , die nur über die Struktur/Architektur leren und sich auch an Anfänger was sowas angeht wenden?
 
Zurück