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
