FilterClothing()
================

FUNKTION
--------
::

     public object *FilterClothing(closure filterfun, varargs mixed* extra)

DEFINIERT IN
------------
::

     /std/living/clothing.c

ARGUMENTE
---------
::

     closure filterfun
       Die Closure, die entscheiden soll, ob eine Kleidung im Ergebnisarray
       enthalten sein soll.

BESCHREIBUNG
------------
::

     Diese Funktion ruft <filterfunc> fuer jede getragene Kleidung des
     Lebewesen mit der jeweiligen Kleidung als Argument auf und liefert ein
     Array mit aller Kleidung zurueck, fuer die <filterfun> einen Wert != 0
     zurueckliefert.
     Die <extra> Argumente werden als zusaetzliche Parameter an <filterfun>
     uebergeben und duerfen keine Referenzen sein.

     

     Diese Variante ist zu bevorzugen, wenn man die getrage Kleidung nach
     bestimmten Kriterien durchsuchen will. 

RUeCKGABEWERT
-------------
::

     Ein Array von Objekten mit allen passenden Kleidung.

BEISPIELE
---------
::

     1) Ich moechte alle Kleidung, die groesser als 50cm ist.
     private int _armour_is_bigger(object clothing, int size) {
       return clothing->QueryProp(P_SIZE) > size;
     }
     ...
     object *big_armours = PL->FilterClothing(#'_amour_is_bigger, 50); 

     2) alle Kleidung mit einer speziellen ID.
     private int _has_id(object clothing, string idstr) {
       return clothing->id(idstr);
     }
     object *has_id = PL->FilterClothing(#'_has_id, "\ntollekleidung");

     3) ueberhaupt alle getragene Kleidung
     object *clothing = PL->FilterClothing(#'objectp)

SIEHE AUCH
----------
::

     Wear(), WearArmour(), WearClothing(), Unwear(), UnwearArmour(), 
     UnwearClothing()
     P_CLOTHING, P_ARMOURS
     FilterArmours(), QueryArmourByType()

ZULETZT GEAeNDERT
-----------------
::

14.03.2009, Zesstra