51 lines
1.4 KiB
C#
51 lines
1.4 KiB
C#
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;
|
|
}
|
|
}
|