Ejemplo n.º 1
0
 public void ConsumeBuff(Buff buff, List <Buff> buffsList, int position, BuffUIManager selectedUIManager)
 {
     if (selectedUIManager)
     {
         selectedUIManager.RemoveExpiredBuff(buff);
     }
     buff.RemoveBuff();
     buffsList.RemoveAt(position);
 }
Ejemplo n.º 2
0
 public void SetUIManagers(BuffUIManager buffUIManager, BuffUIManager debuffUIManager)
 {
     this.buffUIManager   = buffUIManager;
     this.debuffUIManager = debuffUIManager;
 }
Ejemplo n.º 3
0
    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);
        }
    }
Ejemplo n.º 4
0
 private void ApplyBuffOrDebuff(Buff buff, Sprite buffSprite, List <Buff> buffsList, BuffUIManager correctBuffUIManager)
 {
     buffsList.Add(buff);
     buff.ApplyBuff();
     if (correctBuffUIManager != null)
     {
         correctBuffUIManager.SetNewBuff(buff, buffSprite);
     }
 }