MayAddObject()
**************


FUNKTION
========

   int MayAddObject(object ob);


DEFINIERT IN
============

   /std/container/restrictions.c


ARGUMENTE
=========

   ob - Das Object bei dem geprueft werden soll, ob es noch in den
        Container passt.


BESCHREIBUNG
============

   Wenn ein Objekt in einen Container bewegt wird, prueft move() ueber
   diese Funktion, ob das Objekt ueberhaupt noch in den Behaelter hinein
   passt. Dazu uebergibt move() das Objekt das in den Container bewegt
   werden soll. (In Raeumen ist diese Funktionen ueberschrieben und
   liefert immer True zurueck.)


RUeCKGABEWERT
=============

   1 - wenn das Objekt noch vom Container aufgenommen werden kann.
   0 sonst.


BEMERKUNGEN
===========

   invis-Objekte passen immer in den Container hinein!
   move() ruft diese Funktion nicht auf, wenn in den Flags M_NOCHECK
   gesetzt war!


SIEHE AUCH
==========

   MayAddWeight(), PreventInsert(), move(), /std/container/restrictions.c

Last modified: 23.09.2007, Zesstra
