UnregisterEvent()¶
FUNKTION¶
int UnregisterEvent(string eid, object listener);
DEFINIERT IN¶
/p/daemon/eventd.c
DEKLARIERT IN¶
/sys/events.h
ARGUMENTE¶
string eid,
Die ID des Events, vom dem man sich abmelden will.
object listener,
Das Objekt, das als Lauscher ausgetragen werden soll.
BESCHREIBUNG¶
Das Objekt 'listener' wird als Lauscher dieses Events ausgetragen. Ab
diesem Moment wird es bei Events vom Typ 'eid' nicht mehr informiert.
Hat der Event 'eid' im Anschluss keine Lauscher mehr, wird er implizit
geloescht.
RUeCKGABEWERT¶
1 fuer Erfolg, <=0 fuer Misserfolg.
1 - Erfolg, 'listener' wurde eingetragen.
-1 - falsche Argumente uebergeben
-2 - 'listener' ist nicht fuer 'eid' registriert.
BEMERKUNGEN¶
Wenn sich ein Objekt vor Zerstoerung nicht abmeldet, wird es ggf. beim
naechsten Auftreten von 'eid' automatisch ausgetragen.
Falls Blueprints nach Neuladen nicht automatisch angemeldet sein sollen,
sollten sie sich im remove() explizit abmelden.
BEISPIELE¶
1. Ein Objekt moechte nicht mehr ueber Spielertode informiert werden:
EVENTD->UnregisterEvent(EVT_LIB_PLAYER_DEATH, this_object());
2. Ein Objekt moechte sich bei Zerstoerung abmelden:
varargs int remove(int silent) {
...
EVENTD->UnregisterEvent("zesstra_vulkanausbruch",this_object());
}