Die Basisklasse für alle Objekte, die Ihr in der Welt sehen könnt, und einige, die Ihr nicht sehen könnt, ist zVob. Davon leiten sich zahlreiche Klassen ab, die ihre eigenen speziellen Eigenschaften mitbringen.
Aber hier einmal eine Erläuterung, was ein Vob eigentlich ist:
Ein Vob ist „virtuelles Objekt“. Es hat eine Position und Orientierung im Raum und kann durch ein explizit wählbares „Visual“ visualisiert werden.
Die Welt wird mit Objekten (= Vob, „virtuelles Objekt“) bevölkert. Jedes Objekt gehört einer Klasse an, die die Eigenschaften und Fähigkeiten dieses Objektes festlegt (z.B. Klasse „oCNPC“, oder „zCTrigger“). Die Objekte kommunizieren untereinander und mit der GothicEngine über einen festgelegten Satz von Nachrichten (= Messages oder EventMessages).
Beim Design der Klassen und Nachrichten wurde das Ziel verfolgt eher viele spezialisierte verschiedene Klassen zu haben, die über relativ wenige Arten von Nachrichten kommunizieren, als wenige übermächtige Klassen, die über eine Unzahl von verschiedenen Nachrichten angesteuert werden müssen. So ist z.B. eine häufig benutzte Nachricht die „OnTrigger“ Nachricht, die ein Objekt „anstößt“ bzw. aktivieren soll. Was nun genau ein Objekt tut, das eine solche Nachricht empfängt, hängt von der Klasse des jeweiligen Objektes ab.
Ein Vob-Objekt der Klasse zCMover würde sich in Bewegung setzen, während ein Vob-Objekt der Kasse zCEarthquake ein lokales Erdbeben auslösen würde. Man kann eine Vob-Klasse auch als ein „Modul“ sehen, das geschrieben worden ist, um ganz bestimmte Aufgaben in der Welt zu erfüllen. Die Vob-Klassen sind in einer Hierarchie angeordnet, wobei eine Klasse an einer bestimmten Position in der Hierarchie alle Eigenschaften und Fähigkeiten aller Klassen beerbt, die sich in der Hierarchie über ihr befinden.
Im Folgenden habe ich einmal die wichtigsten Klassen in einem Hierarchiebaum aufgelistet. Wie gesagt, alle Klassen sind von zCVob eingeleitet. Nicht fett gedruckte Vob-Klassen werden in der Regel nicht direkt in die Welt eingefügt. Einige Vob-Klassen, die für das Editieren der Welt völlig unwichtig sind, habe ich weggelassen.
Im Spacer werden (teilweise) weitaus ausführlichere Erläuterungen auch im Hilfefenster sichtbar, wenn man die entsprechende Klasse im Vob-Hierarchiebaum des Objekt-Fensters selektiert. Auch zu den zahlreichen Eigenschaften eines Objektes gibt es oft gute Informationen.
Da kommt noch eine vollständige beschreibung hin…**
Alle VOBs haben Eigenschaften. Diese werden im Objects-Dialog angezeigt und können dort auch verändert werden. Bei der Selektion einiger Eigenschaften erscheint im Hilfefenster ein Informationstext zu dieser Eigenschaft.
In diesem Bild sieht man zum Beispiel die Eigenschaften eines EarthQuake-Objektes. Im Ordner „Vob“ befinden sich die grundlegenden zCVob-Eigenschaften. Weitere spezielle Einstellungen sind im Ordner EarthQuake zu finden, wie z.B. die Dauer, der Radius und die Amplitude des Bebens.