using System; using UnityEngine; using UnityEngine.Gonbest.MagicCube; using UnityEngine.Playables; namespace Thousandto.Launcher.ExternalLibs { /// /// 触发消息的处理逻辑 /// [Serializable] public class PushEventBehaviour : PlayableBehaviour { //记录触发次数 private int _triggerCount = 0; //是否为全局触发,没有特定的事件接收者 public bool IsGlobal = false; //是否为多次触发 -- 没帧都会触发 public bool IsMultiple = false; //事件ID public int EventID = -1; //事件参数 public string EventParams = string.Empty; /// /// 触发 /// /// public void DoTrigger(GameObject go) { if ((_triggerCount <= 0 || IsMultiple) && EventID > 0) { _triggerCount++; EventManager.SharedInstance.PushFixEvent(EventID, EventParams, null, (IsGlobal ? null : go)); Debug.Log("通过Timeline进行发送消息:ID=" + EventID + ";;Param=" + (EventParams == null ? "NULL" : EventParams)); } } /// /// 复位 /// public void Reset() { _triggerCount = 0; } } }