Exemplo n.º 1
0
        public bool ChangeBuff(IMemberBattleData member, IBuffBattleData buffData, int buffId, int value)
        {
            var buff     = _accessor.Static.Buffs[buffId];
            var oldStack = buffData.CountStack;

            var newValue = buffData.CountStack + value;

            if (value > 0)
            {
                buffData.CountStack = newValue;
                member.TurnBuffs.Add(buffId);
                foreach (var buffType in buff.BuffType.Values)
                {
                    member.TurnBuffTypes.Add(buffType);
                }
            }
            else if (value < 0)
            {
                if (newValue > 0)
                {
                    buffData.CountStack = newValue;
                }
                else
                {
                    member.Buffs.Remove(buffId);
                    return(false);
                }
            }
            return(true);
        }
 public void InitData(IBuffBattleData data, ChangeStorage storage)
 {
     _storage     = storage;
     CountStack   = data.CountStack;
     NeededRemove = data.NeededRemove;
     OwnerId      = data.OwnerId;
 }