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