ist eigentlich ganz easy.
Es gibt 3 Strukturen: Event, Action und Trigger
In der Eventstruktur wird definiert welches Ereignis stattfinden muss damit der Trigger ausgeführt wird. Dabei wird die ID zu dem/den Objekt/en gegenben + 1-X definierte (im Quellcode oder in Libs) Möglichkeiten. Z.B. Regionen
In der Actionstruktur wird definiert was beim Ausführen des Triggers getan werden soll z.B. alle Objekte in der Region 33 vernichten oder einen anderen Trigger erstellen oder einen Sound abspielen usw.
Die Klasse Trigger ist für einen Trigger zuständig. Ein Trigger kann mehrere Events haben sowie mehrere Actions. Also eine N zu M beziehung in einer 1 zu N beziehung.
Die Trigger werden wie z.B. in StarCraft Objektorientiert erstellt wodurch Benutzerfehler ausgeschlossen sind. Danach werden diese Binär mit in die Leveldatei (oder wo anders) abgespeichert und später vom Programm in einen Triggermanager geladen der diese dann verwaltet.
In jedem Frame werden dann die Events durchgegangen und getestet und ggf. der dazugehörige Trigger ausgeführt.
Ganz einfaches system