Files
plugin-library/Assets/00.StaryEvo/Runtime/Rule/ICanSendEvent.cs
2025-03-31 11:16:52 +08:00

39 lines
1.2 KiB
C#

using System;
namespace Stary.Evo
{
public interface ICanSendEvent:IBelongToArchitecture
{
}
public static class CanSendEventExtension
{
public static void SendEvent<T>(this ICanSendEvent self,T key) where T : IConvertible
{
self.GetArchitecture().SendEvent(key);
}
public static void SendEvent<T,T1>(this ICanSendEvent self,T key,T1 value) where T : IConvertible
{
self.GetArchitecture().SendEvent(key,value);
}
public static void SendEvent<T,T1,T2>(this ICanSendEvent self,T key,T1 value1,T2 value2) where T : IConvertible
{
self.GetArchitecture().SendEvent(key,value1,value2);
}
public static void SendEvent<T,T1,T2,T3>(this ICanSendEvent self,T key,T1 value1,T2 value2,T3 value3) where T : IConvertible
{
self.GetArchitecture().SendEvent(key,value1,value2, value3);
}
public static void SendEvent<T>(this ICanSendEvent self,T key,object[] values) where T : IConvertible
{
self.GetArchitecture().SendEvent(key,values);
}
}
}