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; }