server-master/srcs/WingsAPI.Scripting/Converter/ScriptedEventConverter.cs
2026-02-10 18:21:30 +01:00

19 lines
No EOL
521 B
C#

using System;
using PhoenixLib.Events;
using WingsAPI.Scripting.Event;
namespace WingsAPI.Scripting.Converter
{
public interface IScriptedEventConverter
{
Type EventType { get; }
IAsyncEvent Convert(SEvent e);
}
public abstract class ScriptedEventConverter<T> : IScriptedEventConverter where T : SEvent
{
public Type EventType { get; } = typeof(T);
public IAsyncEvent Convert(SEvent e) => Convert((T)e);
protected abstract IAsyncEvent Convert(T e);
}
}