static DamageTypeNames() { for (DamageTypeIndex index = DamageTypeIndex.damage_generic; index < DamageTypeIndex.damage_last; index += 1) { string str2; Strings[(int)index] = str2 = index.ToString().Substring("damage_".Length); Values.Add(str2, index); } uint num = 0x3f; Mask = (DamageTypeFlags)num; Flags = new string[num]; Flags[0] = "none"; for (uint i = 1; i < num; i++) { uint num3 = i; for (int j = 0; j < 6; j++) { if ((i & (((int)1) << j)) == (((int)1) << j)) { string str = Strings[j]; num3 &= (uint)~(((int)1) << j); if (num3 != 0) { while (++j < 6L) { if ((i & (((int)1) << j)) == (((int)1) << j)) { str = str + "|" + Strings[j]; num3 &= (uint)~(((int)1) << j); if (num3 == 0) { break; } } } } break; } } } }
static DamageTypeNames() { DamageTypeNames.SplitCharacters = new char[] { '|' }; DamageTypeNames.Strings = new string[6]; DamageTypeNames.Values = new Dictionary <string, DamageTypeIndex>(6); for (DamageTypeIndex i = DamageTypeIndex.damage_generic; i < DamageTypeIndex.damage_last; i = (DamageTypeIndex)((int)i + (int)DamageTypeIndex.damage_bullet)) { Dictionary <string, DamageTypeIndex> values = DamageTypeNames.Values; string[] strings = DamageTypeNames.Strings; string str = i.ToString().Substring("damage_".Length); string str1 = str; strings[(int)i] = str; values.Add(str1, i); } uint num = 63; DamageTypeNames.Mask = (DamageTypeFlags)num; DamageTypeNames.Flags = new string[num]; DamageTypeNames.Flags[0] = "none"; for (uint j = 1; j < num; j++) { uint num1 = j; int num2 = 0; while (num2 < 6) { if ((j & 1 << (num2 & 31)) != 1 << (num2 & 31)) { num2++; } else { string strings1 = DamageTypeNames.Strings[num2]; UInt32 num3 = num1 & ~(1 << (num2 & 31 & 31)); num1 = num3; if (num3 != 0) { while (true) { int num4 = num2 + 1; num2 = num4; if ((long)num4 >= (long)6) { break; } if ((j & 1 << (num2 & 31)) == 1 << (num2 & 31)) { strings1 = string.Concat(strings1, "|", DamageTypeNames.Strings[num2]); num1 = num1 & ~(1 << (num2 & 31 & 31)); if (num1 == 0) { break; } } } break; } else { break; } } } } }