Lpc Manpages

MayAddWeight()

FUNKTION:
     varargs int MayAddWeight(int gewicht);

DEFINIERT IN:
     /std/container/restrictions.c

ARGUMENTE:
     gewicht
          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.

RUECKGABEWERT:
     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