blob: 6d9bfb79f3317a8d2d76f1098972c3c681025bec [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2UnregisterEvent()
3*****************
4
5
6FUNKTION
7========
8
9 int UnregisterEvent(string eid, object listener);
10
11
12DEFINIERT IN
13============
14
15 /p/daemon/eventd.c
16
17
18DEKLARIERT IN
19=============
20
21 /sys/events.h
22
23
24ARGUMENTE
25=========
26
27 string eid,
28 Die ID des Events, vom dem man sich abmelden will.
29 object listener,
30 Das Objekt, das als Lauscher ausgetragen werden soll.
31
32
33BESCHREIBUNG
34============
35
36 Das Objekt 'listener' wird als Lauscher dieses Events ausgetragen. Ab
37 diesem Moment wird es bei Events vom Typ 'eid' nicht mehr informiert.
38
39 Hat der Event 'eid' im Anschluss keine Lauscher mehr, wird er implizit
40 geloescht.
41
42
43RUeCKGABEWERT
44=============
45
46 1 fuer Erfolg, <=0 fuer Misserfolg.
47 1 - Erfolg, 'listener' wurde eingetragen.
48 -1 - falsche Argumente uebergeben
49 -2 - 'listener' ist nicht fuer 'eid' registriert.
50
51
52BEMERKUNGEN
53===========
54
55 Wenn sich ein Objekt vor Zerstoerung nicht abmeldet, wird es ggf. beim
56 naechsten Auftreten von 'eid' automatisch ausgetragen.
57 Falls Blueprints nach Neuladen nicht automatisch angemeldet sein sollen,
58 sollten sie sich im remove() explizit abmelden.
59
60
61BEISPIELE
62=========
63
64 1. Ein Objekt moechte nicht mehr ueber Spielertode informiert werden:
65 EVENTD->UnregisterEvent(EVT_LIB_PLAYER_DEATH, this_object());
66
67 2. Ein Objekt moechte sich bei Zerstoerung abmelden:
68 varargs int remove(int silent) {
69 ...
70 EVENTD->UnregisterEvent("zesstra_vulkanausbruch",this_object());
71 }
72
73
74SIEHE AUCH
75==========
76
77 events, eventd, UnregisterEvent(), RegisterEvent()
78
79Last modified: 15.08.2007, Zesstra