blob: 55c1533738edd162f44727b4bd482452be17d8d1 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001PreventInsert()
2
3FUNKTION:
4 int PreventInsert(object ob);
5
6DEFINIERT IN:
7 /std/container/restrictions.c
8
9ARGUMENTE:
10 ob
11 Das Objekt, das in den Behaelter eingefuegt werden soll.
12
13BESCHREIBUNG:
14 Mit dieser Funktion kann ein Behaelter pruefen, ob er das Objekt ob
15 aufnehmen moechte oder nicht.
16
17RUeCKGABEWERT:
18 0, wenn das Objekt aufgenommen werden kann; ein Wert groesser als 0
19 zeigt an, dass das Objekt nicht aufgenommen werden soll.
20
21BEMERKUNGEN:
22 Wenn ob mit dem Flag M_NOCHECK bewegt wird, wird PreventInsert() zwar
23 aufgerufen, das Objekt wird jedoch auf jeden Fall in den Behaelter
24 bewegt, unabhaengig vom Rueckgabewert!
25
26BEISPIELE:
27 Um zu verhindern, dass man Geld in einen Behaelter stecken kann, sollte
28 man wie folgt vorgehen:
29
30 varargs int PreventInsert(object ob)
31 {
32 // Wenn es Geld ist, erheben wir sofort Einspruch
33 if (ob->id("geld"))
34 return 1;
35 // Ansonsten koennte ein ererbtes Objekt noch Einspruch erheben!
36 else
37 return ::PreventInsert(ob);
38 }
39
40SIEHE AUCH:
41 PreventLeave(), NotifyInsert(), NotifyLeave(), MayAddObject(),
42 PreventInsertLiving(), PreventLeaveLiving(), NotifyMove(),
43 PreventMove(), MayAddWeight(), move(), /std/container/restrictions.c
44
45----------------------------------------------------------------------------
46Last modified: Sat Dec 18 02:00:00 1999 by Tiamak