Beispiel #1
0
    public void RemoveModificator(BaseModificator modificator)
    {
        modificators.Remove(modificator);

        if (modificator.Type == ModificatorType.Multiplaer)
        {
            FinalValue /= modificator.Value;
            TimeModificator temp = (TimeModificator)modificator;
            if (temp != null && temp.IsMax)
            {
                maxValue /= modificator.Value;
            }
        }

        if (modificator is TimeModificator)
        {
            (modificator as TimeModificator).OnTimeEnd -= OnEnd;
        }
        if (modificator is TimeChangeModificator)
        {
            (modificator as TimeChangeModificator).OnValueChange -= ValueChange;
        }

        if (OnRemoveModificator != null)
        {
            OnRemoveModificator(modificator);
        }
    }
Beispiel #2
0
 void OnRemoveModificatorM(BaseModificator modificator)
 {
     if (OnRemoveModificator != null)
     {
         OnRemoveModificator(modificator);
     }
 }
Beispiel #3
0
 void OnAddModificatorM(BaseModificator modificator)
 {
     if (OnAddModificator != null)
     {
         OnAddModificator(modificator);
     }
 }
Beispiel #4
0
    public void AddModificator(BaseModificator modificator)
    {
        GameObject tmp = Instantiate(modificatorImage);

        tmp.transform.SetParent(transform);
        tmp.GetComponent <UIEffect>().Init(modificator);
        modificators.Add(tmp.GetComponent <UIEffect>());
    }
Beispiel #5
0
    public void RemoveModificator(BaseModificator modificator)
    {
        UIEffect effect = modificators.Find(x => x.GetComponent <UIEffect>().modificator == modificator);

        if (effect != null)
        {
            modificators.Remove(effect);
            Destroy(effect.gameObject);
        }
    }
Beispiel #6
0
    public void RemoveModificator(BaseModificator modificator)
    {
        modificators.Remove(modificator);
        CalculateFinalValue();

        if (OnRemoveModificator != null)
        {
            OnRemoveModificator(modificator);
        }
    }
Beispiel #7
0
    public void AddModificator(BaseModificator modificator)
    {
        if (modificator is TimeModificator)
        {
            (modificator as TimeModificator).OnTimeEnd += OnEnd;
            modificators.Add(modificator);
            CalculateFinalValue();

            if (OnAddModificator != null)
            {
                OnAddModificator(modificator);
            }
        }
    }
Beispiel #8
0
    public void AddModificator(string name, BaseModificator modificator)
    {
        BaseStat stat = GetStat <BaseStat>(name);

        if (stat == null)
        {
            BaseAttribute attribute = GetStat <BaseAttribute>(name);
            if (attribute == null)
            {
                return;
            }
            attribute.AddModificator(modificator);
            return;
        }
        stat.AddModificator(modificator);

        if (OnAddModificator != null)
        {
            OnAddModificator(modificator);
        }
    }
Beispiel #9
0
    public void AddModificator(BaseModificator modificator)
    {
        if (modificator is TimeModificator)
        {
            (modificator as TimeModificator).OnTimeEnd += OnEnd;
            (modificator as TimeModificator).Start();
        }
        if (modificator is TimeChangeModificator)
        {
            (modificator as TimeChangeModificator).OnValueChange += ValueChange;
        }

        if (modificator.Type == ModificatorType.Multiplaer)
        {
            TimeModificator temp = (TimeModificator)modificator;
            if (temp != null && temp.IsMax)
            {
                maxValue *= modificator.Value;
            }
            FinalValue *= modificator.Value;
        }

        if (modificator.GetType() != typeof(BaseModificator))
        {
            modificators.Add(modificator);
            if (OnAddModificator != null)
            {
                OnAddModificator(modificator);
            }
        }
        else
        {
            if (modificator.Type == ModificatorType.Additive)
            {
                FinalValue += modificator.Value;
            }
        }
    }
Beispiel #10
0
 public void Init(BaseModificator modificator)
 {
     this.modificator = modificator;
     img.sprite       = modificator.Icon;
 }
Beispiel #11
0
 protected virtual void OnEnd(BaseModificator modificator)
 {
     RemoveModificator(modificator);
 }
Beispiel #12
0
 public void RemoveEffect(BaseModificator modificator)
 {
     modificatorsPanel.RemoveModificator(modificator);
 }
Beispiel #13
0
 public void AddEffect(BaseModificator modificator)
 {
     modificatorsPanel.AddModificator(modificator);
 }