blob: d4d6f3cfb0f412be90df5519c6646c2143df0a92 [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001MayAddWeight()
2==============
3
4FUNKTION
5--------
6::
7
8 int MayAddWeight(int gewicht);
9
10DEFINIERT IN
11------------
12::
13
14 /std/container/restrictions.c
15
16ARGUMENTE
17---------
18::
19
20 gewicht
21 Das zu pruefende Gewicht.
22
23BESCHREIBUNG
24------------
25::
26
27 Wenn ein Objekt ein einen Behaelter bewegt wird, prueft move() ueber
28 diese Funktion, ob das Objekt ueberhaupt noch in den Behaelter hinein
29 passt. Dazu uebergibt move() dieser Funktion das Gewicht des zu
30 bewegenden Objektes.
31
32RUeCKGABEWERT
33-------------
34::
35
36 0, wenn der Behaelter noch ein gewicht Gramm wiegendes Objekt aufnehmen
37 kann, -1 im anderen Fall.
38
39BEMERKUNGEN
40-----------
41::
42
43 move() ruft diese Funktion nicht auf, wenn in den Flags M_NOCHECK
44 gesetzt war!
45
46BEISPIELE
47---------
48::
49
50 Die entsprechende Abfrage in /std/thing/moving.c sieht etwa
51 folgendermassen aus:
52
53 int weight;
54
55 ...
56 weight = QueryProp(P_TOTAL_WEIGHT); // Behaelter? Ja => Gesamtgewicht
57 if (!weight)
58 weight = QueryProp(P_WEIGHT); // Nein: einfaches Gewicht
59
60 if (ziel->MayAddWeight(weight) == -1) // Passt es noch rein?
61 return ME_TOO_HEAVY; // Nein, entspr. Fehler zurueckgeben
62
63 ...
64
65SIEHE AUCH
66----------
67::
68
69 MayAddObject(), PreventInsert(), move(), /std/container/restrictions.c
70
71
72Last modified: 23.09.2007, Zesstra
73