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;
}
}
}