using UnityEngine; public class GlobalBuffElement: ScriptableObject, BuffElement { public string Name; public string Description; public float MaxTime = -1; private float CurrentTime = 0; public int ClickAdder = 1; public float ClickTimeMultiplier = 0f; public float ClickMultiplier = 0f; public float GlobalMultiplier = 0f; public void OnStaringEffect() { GlobalBuffSystem.Instance.ClickAdder += ClickAdder; GlobalBuffSystem.Instance.ClickTimeMultiplier += ClickTimeMultiplier; GlobalBuffSystem.Instance.ClickMultiplier += ClickMultiplier; GlobalBuffSystem.Instance.GlobalMultiplier += GlobalMultiplier; this.CurrentTime = this.MaxTime; } public void OnBeforeComputing() { } public void OnAfterComputing() { } public void OnUpdatingEffect(float delta) { if (this.MaxTime < 0) return; this.CurrentTime -= delta; if (this.CurrentTime <= 0) { this.OnEndingEffect(); } } public void OnEndingEffect() { GlobalBuffSystem.Instance.ClickAdder -= ClickAdder; GlobalBuffSystem.Instance.ClickTimeMultiplier -= ClickTimeMultiplier; GlobalBuffSystem.Instance.ClickMultiplier -= ClickMultiplier; GlobalBuffSystem.Instance.GlobalMultiplier -= GlobalMultiplier; } }