Example #1
0
 public void RemoveAttributeEffect(AttributesEnum AttributeName, string EffectName, bool isAdd)
 {
     if (isAdd)
     {
         int len = AttributesAdditiveEffects[(int)AttributeName].Count;
         for (int i = 0; i < len; i++)
         {
             if (AttributesAdditiveEffects[(int)AttributeName][i].Item1 == EffectName)
             {
                 AttributesAdditiveEffects[(int)AttributeName].RemoveAt(i);
                 break;
             }
         }
     }
     else
     {
         int len = AttributesMultiplicativeEffects[(int)AttributeName].Count;
         for (int i = 0; i < len; i++)
         {
             if (AttributesMultiplicativeEffects[(int)AttributeName][i].Item1 == EffectName)
             {
                 AttributesMultiplicativeEffects[(int)AttributeName].RemoveAt(i);
                 break;
             }
         }
     }
     RecalculateAttribute((int)AttributeName);
 }
Example #2
0
 public void AddAttributeEffect(AttributesEnum AttributeName, string EffectName, bool isAdd, float value) //Overwrites effect with the same name
 {
     if (isAdd)
     {
         for (int location = 0; location < AttributesAdditiveEffects[(int)AttributeName].Count; ++location)
         {
             if (AttributesAdditiveEffects[(int)AttributeName][location].Item1 == EffectName)
             {
                 AttributesAdditiveEffects[(int)AttributeName][location] = (EffectName, value);
                 RecalculateAttribute((int)AttributeName);
                 return;
             }
         }
         AttributesAdditiveEffects[(int)AttributeName].Add((EffectName, value));
     }
     else
     {
         for (int location = 0; location < AttributesMultiplicativeEffects[(int)AttributeName].Count; ++location)
         {
             if (AttributesMultiplicativeEffects[(int)AttributeName][location].Item1 == EffectName)
             {
                 AttributesMultiplicativeEffects[(int)AttributeName][location] = (EffectName, value);
                 RecalculateAttribute((int)AttributeName);
                 return;
             }
         }
         AttributesMultiplicativeEffects[(int)AttributeName].Add((EffectName, value));
     }
     RecalculateAttribute((int)AttributeName);
 }
Example #3
0
 public List <(string, float)> ReturnAttributeEffects(AttributesEnum AttributeName, bool isAdd)
 {
     if (isAdd)
     {
         return(AttributesAdditiveEffects[(int)AttributeName]);
     }
     else
     {
         return(AttributesMultiplicativeEffects[(int)AttributeName]);
     }
 }
Example #4
0
    public float this[AttributesEnum attEnum] {
        get{
            if (attributes.ContainsKey(attEnum))
            {
                return(attributes[attEnum]);
            }
            return(0);
        }

        set{
            if (attributes.ContainsKey(attEnum))
            {
                attributes[attEnum] = value;
            }
            else
            {
                attributes.Add(attEnum, value);
            }
        }
    }
Example #5
0
 public float ReturnAttribute(AttributesEnum AttributeName)
 {
     return(FinalAttributesStorage[(int)AttributeName]);
 }
Example #6
0
 public bool ContainsKey(AttributesEnum key)
 {
     return(attributes.ContainsKey(key));
 }