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); }
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); }
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); }