public void ConsumeBuff(Buff buff, List <Buff> buffsList, int position, BuffUIManager selectedUIManager) { if (selectedUIManager) { selectedUIManager.RemoveExpiredBuff(buff); } buff.RemoveBuff(); buffsList.RemoveAt(position); }
public void SetUIManagers(BuffUIManager buffUIManager, BuffUIManager debuffUIManager) { this.buffUIManager = buffUIManager; this.debuffUIManager = debuffUIManager; }
private void UpdateBuff(Buff buff, List <Buff> buffsList, int position, float deltaTime, BuffUIManager selectedUIManager) { bool hasBuffUIManager = selectedUIManager != null; if (buff.HasDuration) { buff.ReduceDurationRemaining(deltaTime); if (hasBuffUIManager) { if (buff.HasDuration) { selectedUIManager.UpdateBuffDuration(buff, buff.DurationForUI, buff.DurationRemaining); } else { selectedUIManager.UpdateBuff(buff); } } } if (buff.HasStacksToUpdate) { if (hasBuffUIManager) { selectedUIManager.UpdateBuffStacks(buff, buff.CurrentStacks); } buff.StacksWereUpdated(); } if (buff.HasValueToSet) { if (hasBuffUIManager) { selectedUIManager.UpdateBuffValue(buff, (int)buff.BuffValue); } buff.ValueWasSet(); } if (buff.HasBeenConsumed) { ConsumeBuff(buff, buffsList, position, selectedUIManager); } }
private void ApplyBuffOrDebuff(Buff buff, Sprite buffSprite, List <Buff> buffsList, BuffUIManager correctBuffUIManager) { buffsList.Add(buff); buff.ApplyBuff(); if (correctBuffUIManager != null) { correctBuffUIManager.SetNewBuff(buff, buffSprite); } }