Esempio n. 1
0
    protected override void AddStackToLiveEffect(LiveCooldownDurationEffect effect)
    {
        base.AddStackToLiveEffect(effect);
        GameObject uiNode = FindUiEffectNode(effect);

        if (uiNode != null)
        {
            uiNode.GetComponent <UiDurationEffectNode>().SetStacksText(effect.CurrentStacks.ToString());
        }
    }
Esempio n. 2
0
    private void ApplyEffectInternal(List <LiveCooldownDurationEffect> liveList, ADurationEffect durationEffect)
    {
        LiveCooldownDurationEffect effect = GetDurationEffectFromLiveList(liveList, durationEffect);

        if (effect != null)
        {
            AddStackToLiveEffect(effect);
        }
        else
        {
            AddNewLiveEffect(liveList, durationEffect);
        }
    }
Esempio n. 3
0
 private GameObject FindUiEffectNode(LiveCooldownDurationEffect effect)
 {
     for (int i = 0; i < effectsGrid.transform.childCount; i++)
     {
         LiveCooldownDurationEffect rootEffect = effectsGrid.transform.GetChild(i).GetComponent <UiDurationEffectNode>().RootLiveEffect;
         if (rootEffect.Equals(effect))
         {
             return(effectsGrid.transform.GetChild(i).gameObject);
         }
     }
     Debug.LogError("ERROR: Didn't find Ui effect node.");
     return(null);
 }
Esempio n. 4
0
    private void RemoveEffectInternal(List <LiveCooldownDurationEffect> liveList, ADurationEffect durationEffect)
    {
        LiveCooldownDurationEffect effect = GetDurationEffectFromLiveList(liveList, durationEffect);

        if (effect != null)
        {
            if (effect.CurrentStacks == 1)
            {
                RemoveLiveEffect(liveList, effect);
            }
            else
            {
                RemoveStackFromLiveEffect(effect);
            }
        }
    }
Esempio n. 5
0
    protected override void RemoveStackFromLiveEffect(LiveCooldownDurationEffect effect)
    {
        base.RemoveStackFromLiveEffect(effect);
        GameObject uiNode = FindUiEffectNode(effect);

        if (uiNode != null)
        {
            if (effect.CurrentStacks > 1)
            {
                uiNode.GetComponent <UiDurationEffectNode>().SetStacksText(effect.CurrentStacks.ToString());
            }
            else
            {
                uiNode.GetComponent <UiDurationEffectNode>().SetStacksText("");
            }
        }
    }
Esempio n. 6
0
    private void TickDurationEffects(List <LiveCooldownDurationEffect> durationEffects)
    {
        List <LiveCooldownDurationEffect> cleanUpList = new List <LiveCooldownDurationEffect>();

        for (int i = 0; i < durationEffects.Count; i++)
        {
            if (durationEffects[i] != null)
            {
                LiveCooldownDurationEffect dEffect = durationEffects[i];
                dEffect.ModifyCurrentDuration(-Time.deltaTime * tickingSpeed);
                if (dEffect.CurrentDuration == 0)
                {
                    //RemoveLiveEffect(durationEffects, dEffect);
                    cleanUpList.Add(dEffect);
                }

                dEffect.OnOwnerTick();
            }
        }
        for (int i = 0; i < cleanUpList.Count; i++)
        {
            RemoveLiveEffect(durationEffects, cleanUpList[0]);
        }
    }
Esempio n. 7
0
 protected virtual void RemoveLiveEffect(List <LiveCooldownDurationEffect> liveList, LiveCooldownDurationEffect effect)
 {
     effect.DurationEffect.StopPersistentEffect();
     liveList.Remove(effect);
 }
Esempio n. 8
0
 protected virtual void RemoveStackFromLiveEffect(LiveCooldownDurationEffect effect)
 {
     effect.RemoveStack();
 }
Esempio n. 9
0
 protected virtual void AddStackToLiveEffect(LiveCooldownDurationEffect effect)
 {
     effect.AddStack();
 }
Esempio n. 10
0
    protected override void RemoveLiveEffect(List <LiveCooldownDurationEffect> liveList, LiveCooldownDurationEffect effect)
    {
        base.RemoveLiveEffect(liveList, effect);
        GameObject uiNode = FindUiEffectNode(effect);

        if (uiNode != null)
        {
            Destroy(uiNode);
        }
    }