MayHeCome/Assets/ChengHui/Script/SpecialBuff/BuffManager.cs

82 lines
2.4 KiB
C#
Raw Normal View History

2024-12-18 09:55:34 +00:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BuffManager : Singleton<BuffManager>
{
//团子动画
public int KowtowParameter = 2;
public int HarmerParameter = 20;
public int kowtowSpeed1 = 1;
public int kowtowSpeed2 = 1;
public float cutTreeSpeed = 1;
public bool HarmerDoubleRotate = false;
[Header("团子数量")]
public int TuanZi_Total;
public int TuanZi_Sun;
public int TuanZi_Sun_JiSi;
public int TuanZi_WoodSculpture;
public int Faith;
[Header("Buff激活和关闭的方法")]
public List<MyAction> ActiveBuff = new List<MyAction>();
private List<MyAction> DisActiveBuff = new List<MyAction>();
public delegate void MyAction();
private void Update()
{
if (!CheckParameterUpdate())
{
foreach (MyAction disactive in DisActiveBuff)
{
disactive?.Invoke();
}
UpdateParameter();
foreach (MyAction active in ActiveBuff)
{
active?.Invoke();
}
}
}
public bool CheckParameterUpdate()
{
if (TuanZi_Total!=BlobManager.Instance.Blobs.Count)
{
return false;
}
else if (TuanZi_Sun != BuildingsManager.Instance.sun.TuanZi_Num)
{
return false;
}
else if (TuanZi_Sun_JiSi != BuildingsManager.Instance.sun.JiSi_num)
{
return false;
}
else if (TuanZi_WoodSculpture != BuildingsManager.Instance.woodSculpture.TuanZi_Num)
{
return false;
}
else if (Faith.ToString().Length != GameProcedureManager.Instance.FaithCount.ToString().Length)
{
return false;
}
else
{
return true;
}
}
public void UpdateParameter()
{
TuanZi_Total = BlobManager.Instance.Blobs.Count;
TuanZi_Sun = BuildingsManager.Instance.sun.TuanZi_Num;
TuanZi_Sun_JiSi = BuildingsManager.Instance.sun.JiSi_num;
TuanZi_WoodSculpture = BuildingsManager.Instance.woodSculpture.TuanZi_Num;
Faith = GameProcedureManager.Instance.FaithCount;
}
// 注册方法
public void RegisterMethod(MyAction ActiveMethod, MyAction disActiveMethod)
{
ActiveBuff.Add(ActiveMethod);
DisActiveBuff.Add(disActiveMethod);
}
}