FUNKTION:
varargs int MayAddWeight(int w);
DEFINIERT IN:
/std/container/restrictions.c
ARGUMENTE:
w - Das zu pruefende Gewicht.
BESCHREIBUNG:
Wenn ein Objekt ein einen Behaelter bewegt wird, prueft move() ueber
diese Funktion, ob das Objekt ueberhaupt noch in den Behaelter hinein
passt. Dazu uebergibt move() dieser Funktion das Gewicht des zu
bewegenden Objektes.
RÜCKGABEWERT:
0, wenn der Behaelter noch ein Gewicht Gramm wiegendes Objekt aufnehmen
kann, -1 im anderen Fall.
BEMERKUNGEN:
move() ruft diese Funktion nicht auf, wenn in den Flags M_NOCHECK
gesetzt war!
BEISPIELE:
Die entsprechende Abfrage in /std/thing/moving.c sieht etwa
folgendermassen aus:
int weight;
...
weight = QueryProp(P_TOTAL_WEIGHT); // Behaelter? Ja => Gesamtgewicht
if (!weight)
weight = QueryProp(P_WEIGHT); // Nein: einfaches Gewicht
if (ziel->MayAddWeight(weight) == -1) // Passt es noch rein?
return ME_TOO_HEAVY; // Nein, entspr. Fehler zurueckgeben
...
SIEHE AUCH:
PreventInsert(), move(), /std/container/restrictions.c
|