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