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); }
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); }
public List <(string, float)> ReturnAttributeEffects(AttributesEnum AttributeName, bool isAdd) { if (isAdd) { return(AttributesAdditiveEffects[(int)AttributeName]); } else { return(AttributesMultiplicativeEffects[(int)AttributeName]); } }
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); } } }
public float ReturnAttribute(AttributesEnum AttributeName) { return(FinalAttributesStorage[(int)AttributeName]); }
public bool ContainsKey(AttributesEnum key) { return(attributes.ContainsKey(key)); }