CheckLightType() ================ FUNKTION -------- :: varargs int CheckLightType(int lighttype, int mode); DEFINIERT IN ------------ :: /std/thing/description.c ARGUMENTE --------- :: lighttype Auf diesen Lichttyp wird getestet. mode Die Methode, nach der der Lichttyp ueberprueft wird. BESCHREIBUNG ------------ :: Die Funktion prueft, ob der uebergebene lighttype mit dem in P_LIGHT_TYPE definierten Lichttyp uebereinstimmt. Dabei kann in verschiedenen Modi getestet werden: LT_CHECK_ANY Es wird geprueft, ob mindestens einer der in lighttype ueber gebenen Lichttypen im Objekt vorhanden ist. Dies ist das Standardverhalten (default) der Funktion. LT_CHECK_ALL Es wird geprueft, ob alle in lighttype definierten Lichttypen vorhanden sind. Es koennen aber auch mehr Lichttypen definiert sein. LT_CHECK_MATCH Es wird geprueft, ob genau die in lighttype definierten Licht- tyen definiert sind, sind mehr oder weniger vorhanden, gibt die Funktion 0 zurueck. LT_CHECK_NONE Es wird geprueft, ob keiner der uebergebenen Lichttypen vorhanden sind. Ob sonst noch andere Lichttypen vorhanden sind, ist dabei egal. RUeCKGABEWERT ------------- :: 0 wenn die geprueften Bedingungen nicht korrekt sind, sonst ein Wert ungleich 0. BEISPIELE --------- :: In einem Raum scheint die Sonne, ausserdem gibt es dort ein Lager- feuer und ein Objekt mit magischem Gluehen (meine Phantasie streikt grad): raum->SetProp( P_LIGHT_TYPE, LT_SUN|LT_OPEN_FIRE|LT_GLOWING ); Es soll getestet werden, ob an in dem Raum Tageslicht herrscht: raum->CheckLightType(LT_DAYLIGHT, LT_CHECK_ANY); raum->CheckLightType(LT_DAYLIGHT); // gleichwertig Die Funktion ergibt wahr, da LT_DAYLIGHT unter anderem LT_SUN ent- haelt (vgl man P_LIGHT_TYPES). Es soll getestet werden, dass weder Mond noch Sterne im Raum sind: raum->CheckLightType(LT_MOON|LT_STARS, LT_CHECK_NONE); Die Funktion ergibt wahr, da die beiden nicht gesetzt sind. Es soll geprueft werden, ob Mond und Sterne im Raum leuchten: raum->CheckLightType(LT_MOON|LT_STARS, LT_CHECK_ALL); Die Funktion ergibt falsch, da keins der beiden Lichter vorhanden ist. Sie ergaebe aber auch falsch, wenn einer der beiden Typen vorhanden waer. Nur wenn beide vorhanden sind, gibt LT_CHECK_ALL wahr. BEMERKUNG --------- :: Lighttypes haben nichts mit dem Lichtsystem zu tun. Sie dienen nur der Beschreibung der Lichtverhaeltnisse an/in einem Objekt. Objekte mit verschiedenen Lichtverhaeltnissen beeinflussen sich gegenseitig nicht. SIEHE AUCH ---------- :: /std/thing/description.c, /std/thing/lighttypes.h, P_LIGHT_TYPE Last modified: Fri Jun 11 20:47:33 2004 by Vanion