40 lines
1022 B
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Bytes
{
public class DemoEventManager : MonoBehaviour
{
private string demoEventName = "DemoEvent";
private void Start()
{
EventManager.AddEventListener(demoEventName, HandleOnPressE);
}
void Update()
{
if (Input.GetKeyDown(KeyCode.E))
{
// Usually this would be called in another extern Script,
// since this is the purpose of the Event system.
EventManager.Dispatch(demoEventName, new DemoData(3));
}
}
private void HandleOnPressE(BytesData data)
{
var demoData = (data as DemoData);
print("Custom data Number = " + demoData.Number);
}
}
public class DemoData : BytesData
{
public DemoData(int number) { Number = number; }
public int Number { get; private set; }
}
}