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); } }
void OnRemoveModificatorM(BaseModificator modificator) { if (OnRemoveModificator != null) { OnRemoveModificator(modificator); } }
void OnAddModificatorM(BaseModificator modificator) { if (OnAddModificator != null) { OnAddModificator(modificator); } }
public void AddModificator(BaseModificator modificator) { GameObject tmp = Instantiate(modificatorImage); tmp.transform.SetParent(transform); tmp.GetComponent <UIEffect>().Init(modificator); modificators.Add(tmp.GetComponent <UIEffect>()); }
public void RemoveModificator(BaseModificator modificator) { UIEffect effect = modificators.Find(x => x.GetComponent <UIEffect>().modificator == modificator); if (effect != null) { modificators.Remove(effect); Destroy(effect.gameObject); } }
public void RemoveModificator(BaseModificator modificator) { modificators.Remove(modificator); CalculateFinalValue(); if (OnRemoveModificator != null) { OnRemoveModificator(modificator); } }
public void AddModificator(BaseModificator modificator) { if (modificator is TimeModificator) { (modificator as TimeModificator).OnTimeEnd += OnEnd; modificators.Add(modificator); CalculateFinalValue(); if (OnAddModificator != null) { OnAddModificator(modificator); } } }
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); } }
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; } } }
public void Init(BaseModificator modificator) { this.modificator = modificator; img.sprite = modificator.Icon; }
protected virtual void OnEnd(BaseModificator modificator) { RemoveModificator(modificator); }
public void RemoveEffect(BaseModificator modificator) { modificatorsPanel.RemoveModificator(modificator); }
public void AddEffect(BaseModificator modificator) { modificatorsPanel.AddModificator(modificator); }