using System.Collections; using System.Collections.Generic; using UnityEngine; public class BuffManager : Singleton { //团子动画 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 ActiveBuff = new List(); private List DisActiveBuff = new List(); 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); } }