Advertisement
gotoheavenbro

ModifiedStat

Sep 30th, 2014
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.39 KB | None | 0 0
  1. using System.Collections.Generic;
  2. public class ModifiedStat : BaseStat {
  3.     private List<ModifyingAttribute> _mods;
  4.     private int _modValue;
  5.     public ModifiedStat()
  6.     {
  7.         _mods = new List<ModifyingAttribute>();
  8.         _modValue = 0;
  9.  
  10.     }
  11.     public void AddModifier(ModifyingAttribute mod)
  12.     {
  13.         _mods.Add(mod);
  14.     }
  15.     private void CalculateModValue()
  16.     {
  17.         _modValue = 0;
  18.         if (_mods.Count > 0)
  19.             foreach (ModifyingAttribute att in _mods)
  20.                 _modValue += (int)(att.attribute.BuffedValue * att.ratio);
  21.     }
  22.     public new int BuffedValue
  23.     {
  24.         get { return BaseValue + BuffValue +_modValue; }
  25.     }
  26.     public void Update()
  27.     {
  28.         CalculateModValue();
  29.     }
  30.     public string GetModifyingAttributesString()
  31.     {
  32.         string temp="";
  33.         //UnityEngine.Debug.Log(_mods.Count);
  34.         for (int i = 0;i<_mods.Count ;i++ )
  35.         {
  36.             temp += _mods[i].attribute.Name;
  37.             temp += "_";
  38.             temp += _mods[i].ratio;
  39.             if (i < _mods.Count - 1)
  40.                 temp += "|";
  41.         }
  42.         //UnityEngine.Debug.Log(temp);
  43.         return temp;
  44.     }
  45. }
  46. public struct ModifyingAttribute
  47. {
  48.     public Attribute attribute;
  49.     public float ratio;
  50.     public ModifyingAttribute(Attribute att, float rat)
  51.     {
  52.         attribute = att;
  53.         ratio = rat;
  54.     }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement