
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 s. bitte. init().


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

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

Last modified: 21.05.2012, Zesstra
