您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
39 行
1.1 KiB
39 行
1.1 KiB
using UnityEngine;
|
|
|
|
namespace GameplayIngredients.Events
|
|
{
|
|
[AddComponentMenu(ComponentMenu.eventsPath + "On Message Event")]
|
|
[HelpURL(Help.URL + "messager")]
|
|
[AdvancedHierarchyIcon("Packages/net.peeweek.gameplay-ingredients/Icons/Events/ic-event-message.png")]
|
|
public class OnMessageEvent : EventBase
|
|
{
|
|
public string MessageName = "Message";
|
|
|
|
public Callable[] OnMessageRecieved;
|
|
|
|
void OnEnable()
|
|
{
|
|
Messager.RegisterMessage(MessageName, Execute);
|
|
}
|
|
|
|
void OnDisable()
|
|
{
|
|
Messager.RemoveMessage(MessageName, Execute);
|
|
}
|
|
|
|
void Execute(GameObject instigator)
|
|
{
|
|
try
|
|
{
|
|
Callable.Call(OnMessageRecieved, instigator);
|
|
}
|
|
catch(System.Exception e)
|
|
{
|
|
UnityEngine.Debug.LogError(string.Format("OnMessageEvent : Exception Caught while catching message '{0}' on Object '{1}'", MessageName, gameObject.name));
|
|
UnityEngine.Debug.LogException(e);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|