
NotifyInsert()
**************


FUNKTION
========

   void NotifyInsert(object ob, object oldenv);


ARGUMENTE
=========

   ob
        Das Objekt, das in den Behaelter eingefuegt wurde.
   oldenv
        Das Objekt, aus dem <ob> kam.


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

   Diese Funktion wird im Behaelter aufgerufen, nachdem ein Objekt in
   besagten Behaelter hinein bewegt wurde.


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

   keiner


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

   Diese Funktion wird nur im Falle unbelebter Objekte gerufen. Fuer
   Lebewesen siehe init().


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

   NotifyLeave(), PreventInsert(), PreventLeave(), move(), NotifyRemove()
   exit(), init(), NotifyMove(), PreventMove()

Last modified: 21.05.2012, Zesstra
