您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
39 行
817 B
39 行
817 B
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
|
|
/// <summary>
|
|
/// To use a generic UnityEvent type you must override the generic type.
|
|
/// </summary>
|
|
[System.Serializable]
|
|
public class IntEvent : UnityEvent<int>
|
|
{
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// A flexible handler for int events in the form of a MonoBehaviour. Responses can be connected directly from the Unity Inspector.
|
|
/// </summary>
|
|
public class IntEventListener : MonoBehaviour
|
|
{
|
|
[SerializeField] private IntEventChannelSO _channel = default;
|
|
|
|
public IntEvent OnEventRaised;
|
|
|
|
private void OnEnable()
|
|
{
|
|
if (_channel != null)
|
|
_channel.OnEventRaised += Respond;
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
if (_channel != null)
|
|
_channel.OnEventRaised -= Respond;
|
|
}
|
|
|
|
private void Respond(int value)
|
|
{
|
|
if (OnEventRaised != null)
|
|
OnEventRaised.Invoke(value);
|
|
}
|
|
}
|