Files
TuanTuan-Engine/Assets/GameFramework/Runtime/EventSystem/IEvent.cs

30 lines
665 B
C#
Raw Normal View History

2025-11-12 07:04:31 +08:00
namespace Tuan.GameFramework
2025-11-04 17:50:46 +08:00
{
2025-11-12 07:04:31 +08:00
public interface IEvent { }
2025-11-04 17:50:46 +08:00
2025-11-12 07:04:31 +08:00
public interface IEventHandler<TEvent> where TEvent : IEvent
{
void HandleEvent(TEvent eventData);
}
2025-11-04 17:50:46 +08:00
2025-11-12 07:04:31 +08:00
public struct ApplicationFocusEvent : IEvent
{
public bool HasFocus;
}
2025-11-04 17:50:46 +08:00
2025-11-12 07:04:31 +08:00
public struct SceneLoadEvent : IEvent
2025-11-04 17:50:46 +08:00
{
2025-11-12 07:04:31 +08:00
public string SceneName;
public float Progress;
2025-11-04 17:50:46 +08:00
}
2025-11-12 07:04:31 +08:00
public abstract class EventHandler<TEvent> : IEventHandler<TEvent> where TEvent : IEvent
{
public void HandleEvent(TEvent eventData)
{
OnEvent(eventData);
}
protected abstract void OnEvent(TEvent eventData);
}
}