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