예제 #1
0
 public int getProtection(DamageTypeIndex index)
 {
     if (index == DamageTypeIndex.DAM_INDEX_BARRIER)
     {
         throw new Exception("Don't use Protectiontype Barrier!");
     }
     return(itemInstances.Protection[(int)index - 1]);
 }
예제 #2
0
 public void setProtection(DamageTypeIndex index, int value)
 {
     if (index == DamageTypeIndex.DAM_INDEX_BARRIER)
     {
         throw new Exception("Don't use Protectiontype Barrier!");
     }
     itemInstances.Protection[(int)index - 1] = value;
 }
예제 #3
0
 public static bool Convert(DamageTypeIndex index, out string name)
 {
     if (index != DamageTypeIndex.damage_generic && (index <= DamageTypeIndex.damage_generic || index >= DamageTypeIndex.damage_last))
     {
         name = null;
         return(false);
     }
     name = DamageTypeNames.Strings[(int)index];
     return(true);
 }
예제 #4
0
 public static bool Convert(DamageTypeIndex index, out string name)
 {
     if ((index == DamageTypeIndex.damage_generic) || ((index > DamageTypeIndex.damage_generic) && (index < DamageTypeIndex.damage_last)))
     {
         name = Strings[(int)index];
         return(true);
     }
     name = null;
     return(false);
 }
예제 #5
0
 public float this[DamageTypeIndex index]
 {
     get
     {
         return(this[(int)index]);
     }
     set
     {
         this[(int)index] = value;
     }
 }
예제 #6
0
    public static string DamageIndexToString(DamageTypeIndex index)
    {
        string str;

        switch (index)
        {
        case DamageTypeIndex.damage_bullet:
        {
            str = "Bullet";
            break;
        }

        case DamageTypeIndex.damage_melee:
        {
            str = "Melee";
            break;
        }

        case DamageTypeIndex.damage_explosion:
        {
            str = "Explosion";
            break;
        }

        case DamageTypeIndex.damage_radiation:
        {
            str = "Radiation";
            break;
        }

        case DamageTypeIndex.damage_cold:
        {
            str = "Cold";
            break;
        }

        default:
        {
            str = "Generic";
            break;
        }
        }
        return(str);
    }
예제 #7
0
    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;
                }
            }
        }
    }
예제 #8
0
    public static string DamageIndexToString(DamageTypeIndex index)
    {
        switch (index)
        {
        case DamageTypeIndex.damage_bullet:
            return("Bullet");

        case DamageTypeIndex.damage_melee:
            return("Melee");

        case DamageTypeIndex.damage_explosion:
            return("Explosion");

        case DamageTypeIndex.damage_radiation:
            return("Radiation");

        case DamageTypeIndex.damage_cold:
            return("Cold");
        }
        return("Generic");
    }
예제 #9
0
 public static bool Convert(DamageTypeIndex index, out string name)
 {
     if (index != DamageTypeIndex.damage_generic && (index <= DamageTypeIndex.damage_generic || index >= DamageTypeIndex.damage_last))
     {
         name = null;
         return false;
     }
     name = DamageTypeNames.Strings[(int)index];
     return true;
 }
예제 #10
0
 public int getDamage(DamageTypeIndex index)
 {
     return(ItemInstance.getDamage(index));
 }
예제 #11
0
 public int getProtection(DamageTypeIndex index)
 {
     return(ItemInstance.getProtection(index));
 }
예제 #12
0
 public static string DamageIndexToString(DamageTypeIndex index)
 {
     string str;
     switch (index)
     {
         case DamageTypeIndex.damage_bullet:
         {
             str = "Bullet";
             break;
         }
         case DamageTypeIndex.damage_melee:
         {
             str = "Melee";
             break;
         }
         case DamageTypeIndex.damage_explosion:
         {
             str = "Explosion";
             break;
         }
         case DamageTypeIndex.damage_radiation:
         {
             str = "Radiation";
             break;
         }
         case DamageTypeIndex.damage_cold:
         {
             str = "Cold";
             break;
         }
         default:
         {
             str = "Generic";
             break;
         }
     }
     return str;
 }
예제 #13
0
 public float this[DamageTypeIndex index]
 {
     get
     {
         return this[(int)index];
     }
     set
     {
         this[(int)index] = value;
     }
 }
예제 #14
0
 public static bool Convert(string name, out DamageTypeIndex index)
 {
     return(DamageTypeNames.Values.TryGetValue(name, out index));
 }
예제 #15
0
    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;
                    }
                }
            }
        }
    }
예제 #16
0
 public static bool Convert(DamageTypeIndex index, out DamageTypeFlags flags)
 {
     flags = (DamageTypeFlags)((int)DamageTypeIndex.damage_bullet << (int)(index & (DamageTypeIndex.damage_bullet | DamageTypeIndex.damage_melee | DamageTypeIndex.damage_explosion | DamageTypeIndex.damage_radiation | DamageTypeIndex.damage_cold | DamageTypeIndex.damage_last)));
     return ((int)flags & (int)DamageTypeNames.Mask) == (int)flags;
 }
예제 #17
0
 public static bool Convert(DamageTypeIndex index, out DamageTypeFlags flags)
 {
     flags = (DamageTypeFlags)((int)DamageTypeIndex.damage_bullet << (int)(index & (DamageTypeIndex.damage_bullet | DamageTypeIndex.damage_melee | DamageTypeIndex.damage_explosion | DamageTypeIndex.damage_radiation | DamageTypeIndex.damage_cold | DamageTypeIndex.damage_last)));
     return(((int)flags & (int)DamageTypeNames.Mask) == (int)flags);
 }
예제 #18
0
 public static bool Convert(DamageTypeIndex index, out DamageTypeFlags flags)
 {
     flags = (DamageTypeFlags)(((int)1) << index);
     return((flags & Mask) == flags);
 }
예제 #19
0
 public static bool Convert(string name, out DamageTypeIndex index)
 {
     return DamageTypeNames.Values.TryGetValue(name, out index);
 }