Ejemplo n.º 1
0
 public LightData(LightDef d, string cls)
 {
     LightDef            = d;
     LightClass          = cls;
     LightDefNum         = GetLightDefNum(LightDef);
     LightDefClass       = GetLightDefClass(LightDef);
     LightDefModifier    = GetLightDefModifier(LightDef);
     LightDefRenderStyle = GetLightDefRenderStyle(LightDef);
     LightNum            = LightDefNum.DoomEdNums[Array.IndexOf(LightDefClass.Classes, cls)];
     if (LightDefModifier != null)
     {
         LightModifier = LightDefModifier.Modifiers[Array.IndexOf(LightDefClass.Classes, cls)];
     }
     else
     {
         LightModifier = LightModifier.NORMAL;
     }
     if (LightDefRenderStyle != null)
     {
         LightRenderStyle = LightDefRenderStyle.RenderStyle;
     }
     else
     {
         LightRenderStyle = LightRenderStyle.NONE;
     }
     LightAnimated = (LightModifier == LightModifier.PULSE || LightModifier == LightModifier.FLICKER || LightModifier == LightModifier.FLICKERRANDOM);
     LightInternal = true;
     LightVavoom   = (LightDef == LightDef.VAVOOM_GENERIC || LightDef == LightDef.VAVOOM_COLORED);
     UpdateLightType();
     LightVavoom = (LightType == LightType.VAVOOM);
 }
Ejemplo n.º 2
0
        public static LightData GetLightDataByNum(int doomednum)
        {
            if (_gldbn_ldefs == null)
            {
                _gldbn_ldefs = Enum.GetValues(typeof(LightDef)).Cast <LightDef>();
            }
            foreach (LightDef ldef in _gldbn_ldefs)
            {
                //
                FieldInfo     fi    = typeof(LightDef).GetField(ldef.ToString());
                LightDefNum[] attrs = (LightDefNum[])fi.GetCustomAttributes(typeof(LightDefNum), false);
                if (attrs.Length == 0)
                {
                    continue;
                }
                //
                LightDefNum attr = attrs[0];
                if (Array.IndexOf(attr.DoomEdNums, doomednum) != -1)
                {
                    return(new LightData(ldef, doomednum));
                }
            }

            return(null);
        }
Ejemplo n.º 3
0
 public LightData(LightDef d, int num)
 {
     LightDef            = d;
     LightNum            = num;
     LightDefNum         = GetLightDefNum(LightDef);
     LightDefClass       = GetLightDefClass(LightDef);
     LightDefModifier    = GetLightDefModifier(LightDef);
     LightDefRenderStyle = GetLightDefRenderStyle(LightDef);
     LightClass          = LightDefClass.Classes[Array.IndexOf(LightDefNum.DoomEdNums, LightNum)];
     if (LightDefModifier != null)
     {
         LightModifier = LightDefModifier.Modifiers[Array.IndexOf(LightDefNum.DoomEdNums, LightNum)];
     }
     else
     {
         LightModifier = LightModifier.NORMAL;
     }
     if (LightDefRenderStyle != null)
     {
         LightRenderStyle = LightDefRenderStyle.RenderStyle;
     }
     else
     {
         LightRenderStyle = LightRenderStyle.NONE;
     }
     LightAnimated = (LightModifier == LightModifier.PULSE || LightModifier == LightModifier.FLICKER || LightModifier == LightModifier.FLICKERRANDOM);
     LightInternal = true;
     UpdateLightType();
     LightVavoom = (LightType == LightType.VAVOOM);
 }