mirror of
https://github.com/project-redbud/FunGame-Core.git
synced 2025-04-21 19:49:34 +08:00
添加插件加载器和事件触发方法组 (#54)
* Add PluginLoader * 删除event返回值 * 添加插件触发器(方法组) * 删除冗余方法 * 将typeof(GetType())改写为this is * 删除无用引用
This commit is contained in:
parent
eb0bb86f38
commit
082ce3b6f5
695
Api/Utility/PluginLoader.cs
Normal file
695
Api/Utility/PluginLoader.cs
Normal file
@ -0,0 +1,695 @@
|
||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
||||
using Milimoe.FunGame.Core.Library.Common.Plugin;
|
||||
using Milimoe.FunGame.Core.Service;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Api.Utility
|
||||
{
|
||||
public class PluginLoader
|
||||
{
|
||||
public Dictionary<string, BasePlugin> Plugins { get; } = new();
|
||||
|
||||
private PluginLoader()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static PluginLoader LoadPlugins()
|
||||
{
|
||||
PluginLoader loader = new();
|
||||
PluginManager.LoadPlugins(loader.Plugins);
|
||||
return loader;
|
||||
}
|
||||
|
||||
public void OnBeforeConnectEvent(ConnectEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeConnectEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterConnectEvent(ConnectEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterConnectEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedConnectEvent(ConnectEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedConnectEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedConnectEvent(ConnectEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedConnectEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeDisconnectEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeDisconnectEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterDisconnectEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterDisconnectEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedDisconnectEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedDisconnectEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedDisconnectEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedDisconnectEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeLoginEvent(LoginEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeLoginEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterLoginEvent(LoginEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterLoginEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedLoginEvent(LoginEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedLoginEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedLoginEvent(LoginEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedLoginEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeLogoutEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeLogoutEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterLogoutEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterLogoutEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedLogoutEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedLogoutEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedLogoutEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedLogoutEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeRegEvent(RegisterEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeRegEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterRegEvent(RegisterEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterRegEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedRegEvent(RegisterEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedRegEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedRegEvent(RegisterEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedRegEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeIntoRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeIntoRoomEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterIntoRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterIntoRoomEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedIntoRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedIntoRoomEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedIntoRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedIntoRoomEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeSendTalkEvent(SendTalkEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeSendTalkEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterSendTalkEvent(SendTalkEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterSendTalkEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedSendTalkEvent(SendTalkEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedSendTalkEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedSendTalkEvent(SendTalkEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedSendTalkEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeCreateRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeCreateRoomEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterCreateRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterCreateRoomEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedCreateRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedCreateRoomEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedCreateRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedCreateRoomEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeQuitRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeQuitRoomEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterQuitRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterQuitRoomEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedQuitRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedQuitRoomEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedQuitRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedQuitRoomEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeChangeRoomSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeChangeRoomSettingEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterChangeRoomSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterChangeRoomSettingEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedChangeRoomSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedChangeRoomSettingEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedChangeRoomSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedChangeRoomSettingEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeStartMatchEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeStartMatchEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterStartMatchEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterStartMatchEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedStartMatchEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedStartMatchEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedStartMatchEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedStartMatchEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeStartGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeStartGameEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterStartGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterStartGameEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedStartGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedStartGameEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedStartGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedStartGameEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeChangeProfileEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeChangeProfileEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterChangeProfileEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterChangeProfileEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedChangeProfileEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedChangeProfileEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedChangeProfileEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedChangeProfileEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeChangeAccountSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeChangeAccountSettingEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterChangeAccountSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterChangeAccountSettingEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedChangeAccountSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedChangeAccountSettingEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedChangeAccountSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedChangeAccountSettingEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeOpenInventoryEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeOpenInventoryEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterOpenInventoryEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterOpenInventoryEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedOpenInventoryEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedOpenInventoryEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedOpenInventoryEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedOpenInventoryEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeSignInEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeSignInEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterSignInEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterSignInEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedSignInEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedSignInEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedSignInEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedSignInEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeOpenStoreEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeOpenStoreEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterOpenStoreEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterOpenStoreEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedOpenStoreEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedOpenStoreEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedOpenStoreEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedOpenStoreEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeBuyItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeBuyItemEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterBuyItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterBuyItemEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedBuyItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedBuyItemEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedBuyItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedBuyItemEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeShowRankingEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeShowRankingEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterShowRankingEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterShowRankingEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedShowRankingEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedShowRankingEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedShowRankingEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedShowRankingEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeUseItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeUseItemEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterUseItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterUseItemEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedUseItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedUseItemEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedUseItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedUseItemEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnBeforeEndGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnBeforeEndGameEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnAfterEndGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnAfterEndGameEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSucceedEndGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnSucceedEndGameEvent(e);
|
||||
});
|
||||
}
|
||||
|
||||
public void OnFailedEndGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
Parallel.ForEach(Plugins.Values, plugin =>
|
||||
{
|
||||
plugin.OnFailedEndGameEvent(e);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
@ -1,12 +1,14 @@
|
||||
namespace Milimoe.FunGame.Core.Interface
|
||||
{
|
||||
public interface IPlugin
|
||||
public interface IPlugin : IConnectEventHandler, IDisconnectEventHandler, ILoginEventHandler, ILogoutEventHandler, IRegEventHandler, IIntoRoomEventHandler, ISendTalkEventHandler,
|
||||
ICreateRoomEventHandler, IQuitRoomEventHandler, IChangeRoomSettingEventHandler, IStartMatchEventHandler, IStartGameEventHandler, IChangeProfileEventHandler, IChangeAccountSettingEventHandler,
|
||||
IOpenInventoryEventHandler, ISignInEventHandler, IOpenStoreEventHandler, IBuyItemEventHandler, IShowRankingEventHandler, IUseItemEventHandler, IEndGameEventHandler
|
||||
{
|
||||
public string Name { get; }
|
||||
public string Description { get; }
|
||||
public string Version { get; }
|
||||
public string Author { get; }
|
||||
|
||||
public void Load();
|
||||
public bool Load();
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
||||
using Milimoe.FunGame.Core.Library.Constant;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Interface
|
||||
{
|
||||
@ -8,28 +7,28 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
/// </summary>
|
||||
public interface IEventHandler
|
||||
{
|
||||
public delegate EventResult BeforeEventHandler(object sender, GeneralEventArgs e);
|
||||
public delegate EventResult AfterEventHandler(object sender, GeneralEventArgs e);
|
||||
public delegate EventResult SucceedEventHandler(object sender, GeneralEventArgs e);
|
||||
public delegate EventResult FailedEventHandler(object sender, GeneralEventArgs e);
|
||||
public delegate void BeforeEventHandler(object sender, GeneralEventArgs e);
|
||||
public delegate void AfterEventHandler(object sender, GeneralEventArgs e);
|
||||
public delegate void SucceedEventHandler(object sender, GeneralEventArgs e);
|
||||
public delegate void FailedEventHandler(object sender, GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IConnectEventHandler : IEventHandler
|
||||
{
|
||||
public new delegate EventResult BeforeEventHandler(object sender, ConnectEventArgs e);
|
||||
public new delegate EventResult AfterEventHandler(object sender, ConnectEventArgs e);
|
||||
public new delegate EventResult SucceedEventHandler(object sender, ConnectEventArgs e);
|
||||
public new delegate EventResult FailedEventHandler(object sender, ConnectEventArgs e);
|
||||
public new delegate void BeforeEventHandler(object sender, ConnectEventArgs e);
|
||||
public new delegate void AfterEventHandler(object sender, ConnectEventArgs e);
|
||||
public new delegate void SucceedEventHandler(object sender, ConnectEventArgs e);
|
||||
public new delegate void FailedEventHandler(object sender, ConnectEventArgs e);
|
||||
|
||||
public event BeforeEventHandler? BeforeConnect;
|
||||
public event AfterEventHandler? AfterConnect;
|
||||
public event SucceedEventHandler? SucceedConnect;
|
||||
public event FailedEventHandler? FailedConnect;
|
||||
|
||||
public EventResult OnBeforeConnectEvent(ConnectEventArgs e);
|
||||
public EventResult OnAfterConnectEvent(ConnectEventArgs e);
|
||||
public EventResult OnSucceedConnectEvent(ConnectEventArgs e);
|
||||
public EventResult OnFailedConnectEvent(ConnectEventArgs e);
|
||||
public void OnBeforeConnectEvent(ConnectEventArgs e);
|
||||
public void OnAfterConnectEvent(ConnectEventArgs e);
|
||||
public void OnSucceedConnectEvent(ConnectEventArgs e);
|
||||
public void OnFailedConnectEvent(ConnectEventArgs e);
|
||||
}
|
||||
|
||||
public interface IDisconnectEventHandler : IEventHandler
|
||||
@ -39,28 +38,28 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedDisconnect;
|
||||
public event FailedEventHandler? FailedDisconnect;
|
||||
|
||||
public EventResult OnBeforeDisconnectEvent(GeneralEventArgs e);
|
||||
public EventResult OnAfterDisconnectEvent(GeneralEventArgs e);
|
||||
public EventResult OnSucceedDisconnectEvent(GeneralEventArgs e);
|
||||
public EventResult OnFailedDisconnectEvent(GeneralEventArgs e);
|
||||
public void OnBeforeDisconnectEvent(GeneralEventArgs e);
|
||||
public void OnAfterDisconnectEvent(GeneralEventArgs e);
|
||||
public void OnSucceedDisconnectEvent(GeneralEventArgs e);
|
||||
public void OnFailedDisconnectEvent(GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface ILoginEventHandler : IEventHandler
|
||||
{
|
||||
public new delegate EventResult BeforeEventHandler(object sender, LoginEventArgs e);
|
||||
public new delegate EventResult AfterEventHandler(object sender, LoginEventArgs e);
|
||||
public new delegate EventResult SucceedEventHandler(object sender, LoginEventArgs e);
|
||||
public new delegate EventResult FailedEventHandler(object sender, LoginEventArgs e);
|
||||
public new delegate void BeforeEventHandler(object sender, LoginEventArgs e);
|
||||
public new delegate void AfterEventHandler(object sender, LoginEventArgs e);
|
||||
public new delegate void SucceedEventHandler(object sender, LoginEventArgs e);
|
||||
public new delegate void FailedEventHandler(object sender, LoginEventArgs e);
|
||||
|
||||
public event BeforeEventHandler? BeforeLogin;
|
||||
public event AfterEventHandler? AfterLogin;
|
||||
public event SucceedEventHandler? SucceedLogin;
|
||||
public event FailedEventHandler? FailedLogin;
|
||||
|
||||
public EventResult OnBeforeLoginEvent(LoginEventArgs e);
|
||||
public EventResult OnAfterLoginEvent(LoginEventArgs e);
|
||||
public EventResult OnSucceedLoginEvent(LoginEventArgs e);
|
||||
public EventResult OnFailedLoginEvent(LoginEventArgs e);
|
||||
public void OnBeforeLoginEvent(LoginEventArgs e);
|
||||
public void OnAfterLoginEvent(LoginEventArgs e);
|
||||
public void OnSucceedLoginEvent(LoginEventArgs e);
|
||||
public void OnFailedLoginEvent(LoginEventArgs e);
|
||||
}
|
||||
|
||||
public interface ILogoutEventHandler : IEventHandler
|
||||
@ -70,100 +69,100 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedLogout;
|
||||
public event FailedEventHandler? FailedLogout;
|
||||
|
||||
public EventResult OnBeforeLogoutEvent(GeneralEventArgs e);
|
||||
public EventResult OnAfterLogoutEvent(GeneralEventArgs e);
|
||||
public EventResult OnSucceedLogoutEvent(GeneralEventArgs e);
|
||||
public EventResult OnFailedLogoutEvent(GeneralEventArgs e);
|
||||
public void OnBeforeLogoutEvent(GeneralEventArgs e);
|
||||
public void OnAfterLogoutEvent(GeneralEventArgs e);
|
||||
public void OnSucceedLogoutEvent(GeneralEventArgs e);
|
||||
public void OnFailedLogoutEvent(GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IRegEventHandler : IEventHandler
|
||||
{
|
||||
public new delegate EventResult BeforeEventHandler(object sender, RegisterEventArgs e);
|
||||
public new delegate EventResult AfterEventHandler(object sender, RegisterEventArgs e);
|
||||
public new delegate EventResult SucceedEventHandler(object sender, RegisterEventArgs e);
|
||||
public new delegate EventResult FailedEventHandler(object sender, RegisterEventArgs e);
|
||||
public new delegate void BeforeEventHandler(object sender, RegisterEventArgs e);
|
||||
public new delegate void AfterEventHandler(object sender, RegisterEventArgs e);
|
||||
public new delegate void SucceedEventHandler(object sender, RegisterEventArgs e);
|
||||
public new delegate void FailedEventHandler(object sender, RegisterEventArgs e);
|
||||
|
||||
public event BeforeEventHandler? BeforeReg;
|
||||
public event AfterEventHandler? AfterReg;
|
||||
public event SucceedEventHandler? SucceedReg;
|
||||
public event FailedEventHandler? FailedReg;
|
||||
|
||||
public EventResult OnBeforeRegEvent(RegisterEventArgs e);
|
||||
public EventResult OnAfterRegEvent(RegisterEventArgs e);
|
||||
public EventResult OnSucceedRegEvent(RegisterEventArgs e);
|
||||
public EventResult OnFailedRegEvent(RegisterEventArgs e);
|
||||
public void OnBeforeRegEvent(RegisterEventArgs e);
|
||||
public void OnAfterRegEvent(RegisterEventArgs e);
|
||||
public void OnSucceedRegEvent(RegisterEventArgs e);
|
||||
public void OnFailedRegEvent(RegisterEventArgs e);
|
||||
}
|
||||
|
||||
public interface IIntoRoomEventHandler : IEventHandler
|
||||
{
|
||||
public new delegate EventResult BeforeEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate EventResult AfterEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate EventResult SucceedEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate EventResult FailedEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate void BeforeEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate void AfterEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate void SucceedEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate void FailedEventHandler(object sender, RoomEventArgs e);
|
||||
|
||||
public event BeforeEventHandler? BeforeIntoRoom;
|
||||
public event AfterEventHandler? AfterIntoRoom;
|
||||
public event SucceedEventHandler? SucceedIntoRoom;
|
||||
public event FailedEventHandler? FailedIntoRoom;
|
||||
|
||||
public EventResult OnBeforeIntoRoomEvent(RoomEventArgs e);
|
||||
public EventResult OnAfterIntoRoomEvent(RoomEventArgs e);
|
||||
public EventResult OnSucceedIntoRoomEvent(RoomEventArgs e);
|
||||
public EventResult OnFailedIntoRoomEvent(RoomEventArgs e);
|
||||
public void OnBeforeIntoRoomEvent(RoomEventArgs e);
|
||||
public void OnAfterIntoRoomEvent(RoomEventArgs e);
|
||||
public void OnSucceedIntoRoomEvent(RoomEventArgs e);
|
||||
public void OnFailedIntoRoomEvent(RoomEventArgs e);
|
||||
}
|
||||
|
||||
public interface ISendTalkEventHandler : IEventHandler
|
||||
{
|
||||
public new delegate EventResult BeforeEventHandler(object sender, SendTalkEventArgs e);
|
||||
public new delegate EventResult AfterEventHandler(object sender, SendTalkEventArgs e);
|
||||
public new delegate EventResult SucceedEventHandler(object sender, SendTalkEventArgs e);
|
||||
public new delegate EventResult FailedEventHandler(object sender, SendTalkEventArgs e);
|
||||
public new delegate void BeforeEventHandler(object sender, SendTalkEventArgs e);
|
||||
public new delegate void AfterEventHandler(object sender, SendTalkEventArgs e);
|
||||
public new delegate void SucceedEventHandler(object sender, SendTalkEventArgs e);
|
||||
public new delegate void FailedEventHandler(object sender, SendTalkEventArgs e);
|
||||
|
||||
public event BeforeEventHandler? BeforeSendTalk;
|
||||
public event AfterEventHandler? AfterSendTalk;
|
||||
public event SucceedEventHandler? SucceedSendTalk;
|
||||
public event FailedEventHandler? FailedSendTalk;
|
||||
|
||||
public EventResult OnBeforeSendTalkEvent(SendTalkEventArgs e);
|
||||
public EventResult OnAfterSendTalkEvent(SendTalkEventArgs e);
|
||||
public EventResult OnSucceedSendTalkEvent(SendTalkEventArgs e);
|
||||
public EventResult OnFailedSendTalkEvent(SendTalkEventArgs e);
|
||||
public void OnBeforeSendTalkEvent(SendTalkEventArgs e);
|
||||
public void OnAfterSendTalkEvent(SendTalkEventArgs e);
|
||||
public void OnSucceedSendTalkEvent(SendTalkEventArgs e);
|
||||
public void OnFailedSendTalkEvent(SendTalkEventArgs e);
|
||||
}
|
||||
|
||||
public interface ICreateRoomEventHandler : IEventHandler
|
||||
{
|
||||
public new delegate EventResult BeforeEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate EventResult AfterEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate EventResult SucceedEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate EventResult FailedEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate void BeforeEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate void AfterEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate void SucceedEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate void FailedEventHandler(object sender, RoomEventArgs e);
|
||||
|
||||
public event BeforeEventHandler? BeforeCreateRoom;
|
||||
public event AfterEventHandler? AfterCreateRoom;
|
||||
public event SucceedEventHandler? SucceedCreateRoom;
|
||||
public event FailedEventHandler? FailedCreateRoom;
|
||||
|
||||
public EventResult OnBeforeCreateRoomEvent(RoomEventArgs e);
|
||||
public EventResult OnAfterCreateRoomEvent(RoomEventArgs e);
|
||||
public EventResult OnSucceedCreateRoomEvent(RoomEventArgs e);
|
||||
public EventResult OnFailedCreateRoomEvent(RoomEventArgs e);
|
||||
public void OnBeforeCreateRoomEvent(RoomEventArgs e);
|
||||
public void OnAfterCreateRoomEvent(RoomEventArgs e);
|
||||
public void OnSucceedCreateRoomEvent(RoomEventArgs e);
|
||||
public void OnFailedCreateRoomEvent(RoomEventArgs e);
|
||||
}
|
||||
|
||||
public interface IQuitRoomEventHandler : IEventHandler
|
||||
{
|
||||
public new delegate EventResult BeforeEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate EventResult AfterEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate EventResult SucceedEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate EventResult FailedEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate void BeforeEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate void AfterEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate void SucceedEventHandler(object sender, RoomEventArgs e);
|
||||
public new delegate void FailedEventHandler(object sender, RoomEventArgs e);
|
||||
|
||||
public event BeforeEventHandler? BeforeQuitRoom;
|
||||
public event AfterEventHandler? AfterQuitRoom;
|
||||
public event SucceedEventHandler? SucceedQuitRoom;
|
||||
public event FailedEventHandler? FailedQuitRoom;
|
||||
|
||||
public EventResult OnBeforeQuitRoomEvent(RoomEventArgs e);
|
||||
public EventResult OnAfterQuitRoomEvent(RoomEventArgs e);
|
||||
public EventResult OnSucceedQuitRoomEvent(RoomEventArgs e);
|
||||
public EventResult OnFailedQuitRoomEvent(RoomEventArgs e);
|
||||
public void OnBeforeQuitRoomEvent(RoomEventArgs e);
|
||||
public void OnAfterQuitRoomEvent(RoomEventArgs e);
|
||||
public void OnSucceedQuitRoomEvent(RoomEventArgs e);
|
||||
public void OnFailedQuitRoomEvent(RoomEventArgs e);
|
||||
}
|
||||
|
||||
public interface IChangeRoomSettingEventHandler : IEventHandler
|
||||
@ -173,10 +172,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedChangeRoomSetting;
|
||||
public event FailedEventHandler? FailedChangeRoomSetting;
|
||||
|
||||
public EventResult OnBeforeChangeRoomSettingEvent(GeneralEventArgs e);
|
||||
public EventResult OnAfterChangeRoomSettingEvent(GeneralEventArgs e);
|
||||
public EventResult OnSucceedChangeRoomSettingEvent(GeneralEventArgs e);
|
||||
public EventResult OnFailedChangeRoomSettingEvent(GeneralEventArgs e);
|
||||
public void OnBeforeChangeRoomSettingEvent(GeneralEventArgs e);
|
||||
public void OnAfterChangeRoomSettingEvent(GeneralEventArgs e);
|
||||
public void OnSucceedChangeRoomSettingEvent(GeneralEventArgs e);
|
||||
public void OnFailedChangeRoomSettingEvent(GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IStartMatchEventHandler : IEventHandler
|
||||
@ -186,10 +185,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedStartMatch;
|
||||
public event FailedEventHandler? FailedStartMatch;
|
||||
|
||||
public EventResult OnBeforeStartMatchEvent(GeneralEventArgs e);
|
||||
public EventResult OnAfterStartMatchEvent(GeneralEventArgs e);
|
||||
public EventResult OnSucceedStartMatchEvent(GeneralEventArgs e);
|
||||
public EventResult OnFailedStartMatchEvent(GeneralEventArgs e);
|
||||
public void OnBeforeStartMatchEvent(GeneralEventArgs e);
|
||||
public void OnAfterStartMatchEvent(GeneralEventArgs e);
|
||||
public void OnSucceedStartMatchEvent(GeneralEventArgs e);
|
||||
public void OnFailedStartMatchEvent(GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IStartGameEventHandler : IEventHandler
|
||||
@ -199,10 +198,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedStartGame;
|
||||
public event FailedEventHandler? FailedStartGame;
|
||||
|
||||
public EventResult OnBeforeStartGameEvent(GeneralEventArgs e);
|
||||
public EventResult OnAfterStartGameEvent(GeneralEventArgs e);
|
||||
public EventResult OnSucceedStartGameEvent(GeneralEventArgs e);
|
||||
public EventResult OnFailedStartGameEvent(GeneralEventArgs e);
|
||||
public void OnBeforeStartGameEvent(GeneralEventArgs e);
|
||||
public void OnAfterStartGameEvent(GeneralEventArgs e);
|
||||
public void OnSucceedStartGameEvent(GeneralEventArgs e);
|
||||
public void OnFailedStartGameEvent(GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IChangeProfileEventHandler : IEventHandler
|
||||
@ -212,10 +211,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedChangeProfile;
|
||||
public event FailedEventHandler? FailedChangeProfile;
|
||||
|
||||
public EventResult OnBeforeChangeProfileEvent(GeneralEventArgs e);
|
||||
public EventResult OnAfterChangeProfileEvent(GeneralEventArgs e);
|
||||
public EventResult OnSucceedChangeProfileEvent(GeneralEventArgs e);
|
||||
public EventResult OnFailedChangeProfileEvent(GeneralEventArgs e);
|
||||
public void OnBeforeChangeProfileEvent(GeneralEventArgs e);
|
||||
public void OnAfterChangeProfileEvent(GeneralEventArgs e);
|
||||
public void OnSucceedChangeProfileEvent(GeneralEventArgs e);
|
||||
public void OnFailedChangeProfileEvent(GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IChangeAccountSettingEventHandler : IEventHandler
|
||||
@ -225,10 +224,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedChangeAccountSetting;
|
||||
public event FailedEventHandler? FailedChangeAccountSetting;
|
||||
|
||||
public EventResult OnBeforeChangeAccountSettingEvent(GeneralEventArgs e);
|
||||
public EventResult OnAfterChangeAccountSettingEvent(GeneralEventArgs e);
|
||||
public EventResult OnSucceedChangeAccountSettingEvent(GeneralEventArgs e);
|
||||
public EventResult OnFailedChangeAccountSettingEvent(GeneralEventArgs e);
|
||||
public void OnBeforeChangeAccountSettingEvent(GeneralEventArgs e);
|
||||
public void OnAfterChangeAccountSettingEvent(GeneralEventArgs e);
|
||||
public void OnSucceedChangeAccountSettingEvent(GeneralEventArgs e);
|
||||
public void OnFailedChangeAccountSettingEvent(GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IOpenInventoryEventHandler : IEventHandler
|
||||
@ -238,10 +237,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedOpenInventory;
|
||||
public event FailedEventHandler? FailedOpenInventory;
|
||||
|
||||
public EventResult OnBeforeOpenInventoryEvent(GeneralEventArgs e);
|
||||
public EventResult OnAfterOpenInventoryEvent(GeneralEventArgs e);
|
||||
public EventResult OnSucceedOpenInventoryEvent(GeneralEventArgs e);
|
||||
public EventResult OnFailedOpenInventoryEvent(GeneralEventArgs e);
|
||||
public void OnBeforeOpenInventoryEvent(GeneralEventArgs e);
|
||||
public void OnAfterOpenInventoryEvent(GeneralEventArgs e);
|
||||
public void OnSucceedOpenInventoryEvent(GeneralEventArgs e);
|
||||
public void OnFailedOpenInventoryEvent(GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface ISignInEventHandler : IEventHandler
|
||||
@ -251,10 +250,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedSignIn;
|
||||
public event FailedEventHandler? FailedSignIn;
|
||||
|
||||
public EventResult OnBeforeSignInEvent(GeneralEventArgs e);
|
||||
public EventResult OnAfterSignInEvent(GeneralEventArgs e);
|
||||
public EventResult OnSucceedSignInEvent(GeneralEventArgs e);
|
||||
public EventResult OnFailedSignInEvent(GeneralEventArgs e);
|
||||
public void OnBeforeSignInEvent(GeneralEventArgs e);
|
||||
public void OnAfterSignInEvent(GeneralEventArgs e);
|
||||
public void OnSucceedSignInEvent(GeneralEventArgs e);
|
||||
public void OnFailedSignInEvent(GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IOpenStoreEventHandler : IEventHandler
|
||||
@ -264,10 +263,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedOpenStore;
|
||||
public event FailedEventHandler? FailedOpenStore;
|
||||
|
||||
public EventResult OnBeforeOpenStoreEvent(GeneralEventArgs e);
|
||||
public EventResult OnAfterOpenStoreEvent(GeneralEventArgs e);
|
||||
public EventResult OnSucceedOpenStoreEvent(GeneralEventArgs e);
|
||||
public EventResult OnFailedOpenStoreEvent(GeneralEventArgs e);
|
||||
public void OnBeforeOpenStoreEvent(GeneralEventArgs e);
|
||||
public void OnAfterOpenStoreEvent(GeneralEventArgs e);
|
||||
public void OnSucceedOpenStoreEvent(GeneralEventArgs e);
|
||||
public void OnFailedOpenStoreEvent(GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IBuyItemEventHandler : IEventHandler
|
||||
@ -277,10 +276,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedBuyItem;
|
||||
public event FailedEventHandler? FailedBuyItem;
|
||||
|
||||
public EventResult OnBeforeBuyItemEvent(GeneralEventArgs e);
|
||||
public EventResult OnAfterBuyItemEvent(GeneralEventArgs e);
|
||||
public EventResult OnSucceedBuyItemEvent(GeneralEventArgs e);
|
||||
public EventResult OnFailedBuyItemEvent(GeneralEventArgs e);
|
||||
public void OnBeforeBuyItemEvent(GeneralEventArgs e);
|
||||
public void OnAfterBuyItemEvent(GeneralEventArgs e);
|
||||
public void OnSucceedBuyItemEvent(GeneralEventArgs e);
|
||||
public void OnFailedBuyItemEvent(GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IShowRankingEventHandler : IEventHandler
|
||||
@ -290,10 +289,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedShowRanking;
|
||||
public event FailedEventHandler? FailedShowRanking;
|
||||
|
||||
public EventResult OnBeforeShowRankingEvent(GeneralEventArgs e);
|
||||
public EventResult OnAfterShowRankingEvent(GeneralEventArgs e);
|
||||
public EventResult OnSucceedShowRankingEvent(GeneralEventArgs e);
|
||||
public EventResult OnFailedShowRankingEvent(GeneralEventArgs e);
|
||||
public void OnBeforeShowRankingEvent(GeneralEventArgs e);
|
||||
public void OnAfterShowRankingEvent(GeneralEventArgs e);
|
||||
public void OnSucceedShowRankingEvent(GeneralEventArgs e);
|
||||
public void OnFailedShowRankingEvent(GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IUseItemEventHandler : IEventHandler
|
||||
@ -303,10 +302,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedUseItem;
|
||||
public event FailedEventHandler? FailedUseItem;
|
||||
|
||||
public EventResult OnBeforeUseItemEvent(GeneralEventArgs e);
|
||||
public EventResult OnAfterUseItemEvent(GeneralEventArgs e);
|
||||
public EventResult OnSucceedUseItemEvent(GeneralEventArgs e);
|
||||
public EventResult OnFailedUseItemEvent(GeneralEventArgs e);
|
||||
public void OnBeforeUseItemEvent(GeneralEventArgs e);
|
||||
public void OnAfterUseItemEvent(GeneralEventArgs e);
|
||||
public void OnSucceedUseItemEvent(GeneralEventArgs e);
|
||||
public void OnFailedUseItemEvent(GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IEndGameEventHandler : IEventHandler
|
||||
@ -316,9 +315,9 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedEndGame;
|
||||
public event FailedEventHandler? FailedEndGame;
|
||||
|
||||
public EventResult OnBeforeEndGameEvent(GeneralEventArgs e);
|
||||
public EventResult OnAfterEndGameEvent(GeneralEventArgs e);
|
||||
public EventResult OnSucceedEndGameEvent(GeneralEventArgs e);
|
||||
public EventResult OnFailedEndGameEvent(GeneralEventArgs e);
|
||||
public void OnBeforeEndGameEvent(GeneralEventArgs e);
|
||||
public void OnAfterEndGameEvent(GeneralEventArgs e);
|
||||
public void OnSucceedEndGameEvent(GeneralEventArgs e);
|
||||
public void OnFailedEndGameEvent(GeneralEventArgs e);
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
||||
using Milimoe.FunGame.Core.Library.Constant;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Interface
|
||||
{
|
||||
@ -8,169 +7,169 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
/// </summary>
|
||||
public interface IConnectEvent
|
||||
{
|
||||
public EventResult BeforeConnectEvent(object sender, ConnectEventArgs e);
|
||||
public EventResult AfterConnectEvent(object sender, ConnectEventArgs e);
|
||||
public EventResult SucceedConnectEvent(object sender, ConnectEventArgs e);
|
||||
public EventResult FailedConnectEvent(object sender, ConnectEventArgs e);
|
||||
public void BeforeConnectEvent(object sender, ConnectEventArgs e);
|
||||
public void AfterConnectEvent(object sender, ConnectEventArgs e);
|
||||
public void SucceedConnectEvent(object sender, ConnectEventArgs e);
|
||||
public void FailedConnectEvent(object sender, ConnectEventArgs e);
|
||||
}
|
||||
|
||||
public interface IDisconnectEvent
|
||||
{
|
||||
public EventResult BeforeDisconnectEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult AfterDisconnectEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult SucceedDisconnectEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult FailedDisconnectEvent(object sender, GeneralEventArgs e);
|
||||
public void BeforeDisconnectEvent(object sender, GeneralEventArgs e);
|
||||
public void AfterDisconnectEvent(object sender, GeneralEventArgs e);
|
||||
public void SucceedDisconnectEvent(object sender, GeneralEventArgs e);
|
||||
public void FailedDisconnectEvent(object sender, GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface ILoginEvent
|
||||
{
|
||||
public EventResult BeforeLoginEvent(object sender, LoginEventArgs e);
|
||||
public EventResult AfterLoginEvent(object sender, LoginEventArgs e);
|
||||
public EventResult SucceedLoginEvent(object sender, LoginEventArgs e);
|
||||
public EventResult FailedLoginEvent(object sender, LoginEventArgs e);
|
||||
public void BeforeLoginEvent(object sender, LoginEventArgs e);
|
||||
public void AfterLoginEvent(object sender, LoginEventArgs e);
|
||||
public void SucceedLoginEvent(object sender, LoginEventArgs e);
|
||||
public void FailedLoginEvent(object sender, LoginEventArgs e);
|
||||
}
|
||||
|
||||
public interface ILogoutEvent
|
||||
{
|
||||
public EventResult BeforeLogoutEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult AfterLogoutEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult SucceedLogoutEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult FailedLogoutEvent(object sender, GeneralEventArgs e);
|
||||
public void BeforeLogoutEvent(object sender, GeneralEventArgs e);
|
||||
public void AfterLogoutEvent(object sender, GeneralEventArgs e);
|
||||
public void SucceedLogoutEvent(object sender, GeneralEventArgs e);
|
||||
public void FailedLogoutEvent(object sender, GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IRegEvent
|
||||
{
|
||||
public EventResult BeforeRegEvent(object sender, RegisterEventArgs e);
|
||||
public EventResult AfterRegEvent(object sender, RegisterEventArgs e);
|
||||
public EventResult SucceedRegEvent(object sender, RegisterEventArgs e);
|
||||
public EventResult FailedRegEvent(object sender, RegisterEventArgs e);
|
||||
public void BeforeRegEvent(object sender, RegisterEventArgs e);
|
||||
public void AfterRegEvent(object sender, RegisterEventArgs e);
|
||||
public void SucceedRegEvent(object sender, RegisterEventArgs e);
|
||||
public void FailedRegEvent(object sender, RegisterEventArgs e);
|
||||
}
|
||||
|
||||
public interface IIntoRoomEvent
|
||||
{
|
||||
public EventResult BeforeIntoRoomEvent(object sender, RoomEventArgs e);
|
||||
public EventResult AfterIntoRoomEvent(object sender, RoomEventArgs e);
|
||||
public EventResult SucceedIntoRoomEvent(object sender, RoomEventArgs e);
|
||||
public EventResult FailedIntoRoomEvent(object sender, RoomEventArgs e);
|
||||
public void BeforeIntoRoomEvent(object sender, RoomEventArgs e);
|
||||
public void AfterIntoRoomEvent(object sender, RoomEventArgs e);
|
||||
public void SucceedIntoRoomEvent(object sender, RoomEventArgs e);
|
||||
public void FailedIntoRoomEvent(object sender, RoomEventArgs e);
|
||||
}
|
||||
|
||||
public interface ISendTalkEvent
|
||||
{
|
||||
public EventResult BeforeSendTalkEvent(object sender, SendTalkEventArgs e);
|
||||
public EventResult AfterSendTalkEvent(object sender, SendTalkEventArgs e);
|
||||
public EventResult SucceedSendTalkEvent(object sender, SendTalkEventArgs e);
|
||||
public EventResult FailedSendTalkEvent(object sender, SendTalkEventArgs e);
|
||||
public void BeforeSendTalkEvent(object sender, SendTalkEventArgs e);
|
||||
public void AfterSendTalkEvent(object sender, SendTalkEventArgs e);
|
||||
public void SucceedSendTalkEvent(object sender, SendTalkEventArgs e);
|
||||
public void FailedSendTalkEvent(object sender, SendTalkEventArgs e);
|
||||
}
|
||||
|
||||
public interface ICreateRoomEvent
|
||||
{
|
||||
public EventResult BeforeCreateRoomEvent(object sender, RoomEventArgs e);
|
||||
public EventResult AfterCreateRoomEvent(object sender, RoomEventArgs e);
|
||||
public EventResult SucceedCreateRoomEvent(object sender, RoomEventArgs e);
|
||||
public EventResult FailedCreateRoomEvent(object sender, RoomEventArgs e);
|
||||
public void BeforeCreateRoomEvent(object sender, RoomEventArgs e);
|
||||
public void AfterCreateRoomEvent(object sender, RoomEventArgs e);
|
||||
public void SucceedCreateRoomEvent(object sender, RoomEventArgs e);
|
||||
public void FailedCreateRoomEvent(object sender, RoomEventArgs e);
|
||||
}
|
||||
|
||||
public interface IQuitRoomEvent
|
||||
{
|
||||
public EventResult BeforeQuitRoomEvent(object sender, RoomEventArgs e);
|
||||
public EventResult AfterQuitRoomEvent(object sender, RoomEventArgs e);
|
||||
public EventResult SucceedQuitRoomEvent(object sender, RoomEventArgs e);
|
||||
public EventResult FailedQuitRoomEvent(object sender, RoomEventArgs e);
|
||||
public void BeforeQuitRoomEvent(object sender, RoomEventArgs e);
|
||||
public void AfterQuitRoomEvent(object sender, RoomEventArgs e);
|
||||
public void SucceedQuitRoomEvent(object sender, RoomEventArgs e);
|
||||
public void FailedQuitRoomEvent(object sender, RoomEventArgs e);
|
||||
}
|
||||
|
||||
public interface IChangeRoomSettingEvent
|
||||
{
|
||||
public EventResult BeforeChangeRoomSettingEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult AfterChangeRoomSettingEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult SucceedChangeRoomSettingEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult FailedChangeRoomSettingEvent(object sender, GeneralEventArgs e);
|
||||
public void BeforeChangeRoomSettingEvent(object sender, GeneralEventArgs e);
|
||||
public void AfterChangeRoomSettingEvent(object sender, GeneralEventArgs e);
|
||||
public void SucceedChangeRoomSettingEvent(object sender, GeneralEventArgs e);
|
||||
public void FailedChangeRoomSettingEvent(object sender, GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IStartMatchEvent
|
||||
{
|
||||
public EventResult BeforeStartMatchEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult AfterStartMatchEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult SucceedStartMatchEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult FailedStartMatchEvent(object sender, GeneralEventArgs e);
|
||||
public void BeforeStartMatchEvent(object sender, GeneralEventArgs e);
|
||||
public void AfterStartMatchEvent(object sender, GeneralEventArgs e);
|
||||
public void SucceedStartMatchEvent(object sender, GeneralEventArgs e);
|
||||
public void FailedStartMatchEvent(object sender, GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IStartGameEvent
|
||||
{
|
||||
public EventResult BeforeStartGameEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult AfterStartGameEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult SucceedStartGameEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult FailedStartGameEvent(object sender, GeneralEventArgs e);
|
||||
public void BeforeStartGameEvent(object sender, GeneralEventArgs e);
|
||||
public void AfterStartGameEvent(object sender, GeneralEventArgs e);
|
||||
public void SucceedStartGameEvent(object sender, GeneralEventArgs e);
|
||||
public void FailedStartGameEvent(object sender, GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IChangeProfileEvent
|
||||
{
|
||||
public EventResult BeforeChangeProfileEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult AfterChangeProfileEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult SucceedChangeProfileEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult FailedChangeProfileEvent(object sender, GeneralEventArgs e);
|
||||
public void BeforeChangeProfileEvent(object sender, GeneralEventArgs e);
|
||||
public void AfterChangeProfileEvent(object sender, GeneralEventArgs e);
|
||||
public void SucceedChangeProfileEvent(object sender, GeneralEventArgs e);
|
||||
public void FailedChangeProfileEvent(object sender, GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IChangeAccountSettingEvent
|
||||
{
|
||||
public EventResult BeforeChangeAccountSettingEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult AfterChangeAccountSettingEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult SucceedChangeAccountSettingEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult FailedChangeAccountSettingEvent(object sender, GeneralEventArgs e);
|
||||
public void BeforeChangeAccountSettingEvent(object sender, GeneralEventArgs e);
|
||||
public void AfterChangeAccountSettingEvent(object sender, GeneralEventArgs e);
|
||||
public void SucceedChangeAccountSettingEvent(object sender, GeneralEventArgs e);
|
||||
public void FailedChangeAccountSettingEvent(object sender, GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IOpenInventoryEvent
|
||||
{
|
||||
public EventResult BeforeOpenInventoryEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult AfterOpenInventoryEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult SucceedOpenInventoryEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult FailedOpenInventoryEvent(object sender, GeneralEventArgs e);
|
||||
public void BeforeOpenInventoryEvent(object sender, GeneralEventArgs e);
|
||||
public void AfterOpenInventoryEvent(object sender, GeneralEventArgs e);
|
||||
public void SucceedOpenInventoryEvent(object sender, GeneralEventArgs e);
|
||||
public void FailedOpenInventoryEvent(object sender, GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface ISignInEvent
|
||||
{
|
||||
public EventResult BeforeSignInEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult AfterSignInEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult SucceedSignInEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult FailedSignInEvent(object sender, GeneralEventArgs e);
|
||||
public void BeforeSignInEvent(object sender, GeneralEventArgs e);
|
||||
public void AfterSignInEvent(object sender, GeneralEventArgs e);
|
||||
public void SucceedSignInEvent(object sender, GeneralEventArgs e);
|
||||
public void FailedSignInEvent(object sender, GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IOpenStoreEvent
|
||||
{
|
||||
public EventResult BeforeOpenStoreEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult AfterOpenStoreEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult SucceedOpenStoreEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult FailedOpenStoreEvent(object sender, GeneralEventArgs e);
|
||||
public void BeforeOpenStoreEvent(object sender, GeneralEventArgs e);
|
||||
public void AfterOpenStoreEvent(object sender, GeneralEventArgs e);
|
||||
public void SucceedOpenStoreEvent(object sender, GeneralEventArgs e);
|
||||
public void FailedOpenStoreEvent(object sender, GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IBuyItemEvent
|
||||
{
|
||||
public EventResult BeforeBuyItemEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult AfterBuyItemEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult SucceedBuyItemEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult FailedBuyItemEvent(object sender, GeneralEventArgs e);
|
||||
public void BeforeBuyItemEvent(object sender, GeneralEventArgs e);
|
||||
public void AfterBuyItemEvent(object sender, GeneralEventArgs e);
|
||||
public void SucceedBuyItemEvent(object sender, GeneralEventArgs e);
|
||||
public void FailedBuyItemEvent(object sender, GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IShowRankingEvent
|
||||
{
|
||||
public EventResult BeforeShowRankingEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult AfterShowRankingEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult SucceedShowRankingEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult FailedShowRankingEvent(object sender, GeneralEventArgs e);
|
||||
public void BeforeShowRankingEvent(object sender, GeneralEventArgs e);
|
||||
public void AfterShowRankingEvent(object sender, GeneralEventArgs e);
|
||||
public void SucceedShowRankingEvent(object sender, GeneralEventArgs e);
|
||||
public void FailedShowRankingEvent(object sender, GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IUseItemEvent
|
||||
{
|
||||
public EventResult BeforeUseItemEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult AfterUseItemEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult SucceedUseItemEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult FailedUseItemEvent(object sender, GeneralEventArgs e);
|
||||
public void BeforeUseItemEvent(object sender, GeneralEventArgs e);
|
||||
public void AfterUseItemEvent(object sender, GeneralEventArgs e);
|
||||
public void SucceedUseItemEvent(object sender, GeneralEventArgs e);
|
||||
public void FailedUseItemEvent(object sender, GeneralEventArgs e);
|
||||
}
|
||||
|
||||
public interface IEndGameEvent
|
||||
{
|
||||
public EventResult BeforeEndGameEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult AfterEndGameEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult SucceedEndGameEvent(object sender, GeneralEventArgs e);
|
||||
public EventResult FailedEndGameEvent(object sender, GeneralEventArgs e);
|
||||
public void BeforeEndGameEvent(object sender, GeneralEventArgs e);
|
||||
public void AfterEndGameEvent(object sender, GeneralEventArgs e);
|
||||
public void SucceedEndGameEvent(object sender, GeneralEventArgs e);
|
||||
public void FailedEndGameEvent(object sender, GeneralEventArgs e);
|
||||
}
|
||||
}
|
||||
|
@ -3,15 +3,16 @@
|
||||
public class GeneralEventArgs : EventArgs
|
||||
{
|
||||
public string EventMsg { get; set; } = "";
|
||||
public object[]? Parameters { get; set; } = null;
|
||||
public object[] Parameters { get; set; } = Array.Empty<object>();
|
||||
public bool Cancel { get; set; } = false;
|
||||
|
||||
public GeneralEventArgs(string EventMsg = "", object[]? Parameters = null)
|
||||
public GeneralEventArgs(string EventMsg, object[] Parameters)
|
||||
{
|
||||
this.EventMsg = EventMsg;
|
||||
this.Parameters = Parameters;
|
||||
}
|
||||
|
||||
public GeneralEventArgs(params object[]? Parameters)
|
||||
public GeneralEventArgs(params object[] Parameters)
|
||||
{
|
||||
this.Parameters = Parameters;
|
||||
}
|
||||
@ -19,10 +20,10 @@
|
||||
|
||||
public class GeneralEvent<T>
|
||||
{
|
||||
public T Instance { get; set; }
|
||||
public T? Instance { get; set; }
|
||||
public GeneralEvent()
|
||||
{
|
||||
Instance = Activator.CreateInstance<T>();
|
||||
Instance = (T?)Activator.CreateInstance(typeof(T?));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ using Milimoe.FunGame.Core.Library.Constant;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Common.Event
|
||||
{
|
||||
public class RoomEventArgs
|
||||
public class RoomEventArgs : GeneralEventArgs
|
||||
{
|
||||
public string RoomID { get; set; } = "";
|
||||
public long RoomMaster { get; set; } = 0;
|
||||
|
@ -1,6 +1,6 @@
|
||||
namespace Milimoe.FunGame.Core.Library.Common.Event
|
||||
{
|
||||
public class SendTalkEventArgs
|
||||
public class SendTalkEventArgs : GeneralEventArgs
|
||||
{
|
||||
public string Message { get; set; } = "";
|
||||
|
||||
|
@ -1,13 +1,9 @@
|
||||
using Milimoe.FunGame.Core.Interface;
|
||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
||||
using Milimoe.FunGame.Core.Library.Constant;
|
||||
using Milimoe.FunGame.Core.Service;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
{
|
||||
public abstract class BasePlugin : IPlugin, IConnectEventHandler, IDisconnectEventHandler, ILoginEventHandler, ILogoutEventHandler, IRegEventHandler, IIntoRoomEventHandler, ISendTalkEventHandler,
|
||||
ICreateRoomEventHandler, IQuitRoomEventHandler, IChangeRoomSettingEventHandler, IStartMatchEventHandler, IStartGameEventHandler, IChangeProfileEventHandler, IChangeAccountSettingEventHandler,
|
||||
IOpenInventoryEventHandler, ISignInEventHandler, IOpenStoreEventHandler, IBuyItemEventHandler, IShowRankingEventHandler, IUseItemEventHandler, IEndGameEventHandler
|
||||
public abstract class BasePlugin : IPlugin
|
||||
{
|
||||
/// <summary>
|
||||
/// 插件名称
|
||||
@ -37,11 +33,11 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
/// <summary>
|
||||
/// 加载插件
|
||||
/// </summary>
|
||||
public void Load()
|
||||
public bool Load()
|
||||
{
|
||||
if (IsLoaded)
|
||||
{
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
// BeforeLoad可以阻止加载此插件
|
||||
if (BeforeLoad())
|
||||
@ -53,6 +49,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
// 如果加载后需要执行代码,请重写AfterLoad方法
|
||||
AfterLoad();
|
||||
}
|
||||
return IsLoaded;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -77,9 +74,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
/// </summary>
|
||||
private void BindEvent()
|
||||
{
|
||||
Type type = GetType();
|
||||
|
||||
if (type == typeof(IConnectEvent))
|
||||
if (this is IConnectEvent)
|
||||
{
|
||||
IConnectEvent bind = (IConnectEvent)this;
|
||||
BeforeConnect += bind.BeforeConnectEvent;
|
||||
@ -88,7 +83,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedConnect += bind.FailedConnectEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(IDisconnectEvent))
|
||||
if (this is IDisconnectEvent)
|
||||
{
|
||||
IDisconnectEvent bind = (IDisconnectEvent)this;
|
||||
BeforeDisconnect += bind.BeforeDisconnectEvent;
|
||||
@ -97,7 +92,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedDisconnect += bind.FailedDisconnectEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(ILoginEvent))
|
||||
if (this is ILoginEvent)
|
||||
{
|
||||
ILoginEvent bind = (ILoginEvent)this;
|
||||
BeforeLogin += bind.BeforeLoginEvent;
|
||||
@ -106,7 +101,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedLogin += bind.FailedLoginEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(ILogoutEvent))
|
||||
if (this is ILogoutEvent)
|
||||
{
|
||||
ILogoutEvent bind = (ILogoutEvent)this;
|
||||
BeforeLogout += bind.BeforeLogoutEvent;
|
||||
@ -115,7 +110,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedLogout += bind.FailedLogoutEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(IRegEvent))
|
||||
if (this is IRegEvent)
|
||||
{
|
||||
IRegEvent bind = (IRegEvent)this;
|
||||
BeforeReg += bind.BeforeRegEvent;
|
||||
@ -124,7 +119,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedReg += bind.FailedRegEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(IIntoRoomEvent))
|
||||
if (this is IIntoRoomEvent)
|
||||
{
|
||||
IIntoRoomEvent bind = (IIntoRoomEvent)this;
|
||||
BeforeIntoRoom += bind.BeforeIntoRoomEvent;
|
||||
@ -133,7 +128,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedIntoRoom += bind.FailedIntoRoomEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(ISendTalkEvent))
|
||||
if (this is ISendTalkEvent)
|
||||
{
|
||||
ISendTalkEvent bind = (ISendTalkEvent)this;
|
||||
BeforeSendTalk += bind.BeforeSendTalkEvent;
|
||||
@ -142,7 +137,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedSendTalk += bind.FailedSendTalkEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(ICreateRoomEvent))
|
||||
if (this is ICreateRoomEvent)
|
||||
{
|
||||
ICreateRoomEvent bind = (ICreateRoomEvent)this;
|
||||
BeforeCreateRoom += bind.BeforeCreateRoomEvent;
|
||||
@ -151,7 +146,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedCreateRoom += bind.FailedCreateRoomEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(IQuitRoomEvent))
|
||||
if (this is IQuitRoomEvent)
|
||||
{
|
||||
IQuitRoomEvent bind = (IQuitRoomEvent)this;
|
||||
BeforeQuitRoom += bind.BeforeQuitRoomEvent;
|
||||
@ -160,7 +155,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedQuitRoom += bind.FailedQuitRoomEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(IChangeRoomSettingEvent))
|
||||
if (this is IChangeRoomSettingEvent)
|
||||
{
|
||||
IChangeRoomSettingEvent bind = (IChangeRoomSettingEvent)this;
|
||||
BeforeChangeRoomSetting += bind.BeforeChangeRoomSettingEvent;
|
||||
@ -169,7 +164,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedChangeRoomSetting += bind.FailedChangeRoomSettingEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(IStartMatchEvent))
|
||||
if (this is IStartMatchEvent)
|
||||
{
|
||||
IStartMatchEvent bind = (IStartMatchEvent)this;
|
||||
BeforeStartMatch += bind.BeforeStartMatchEvent;
|
||||
@ -178,7 +173,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedStartMatch += bind.FailedStartMatchEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(IStartGameEvent))
|
||||
if (this is IStartGameEvent)
|
||||
{
|
||||
IStartGameEvent bind = (IStartGameEvent)this;
|
||||
BeforeStartGame += bind.BeforeStartGameEvent;
|
||||
@ -187,7 +182,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedStartGame += bind.FailedStartGameEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(IChangeProfileEvent))
|
||||
if (this is IChangeProfileEvent)
|
||||
{
|
||||
IChangeProfileEvent bind = (IChangeProfileEvent)this;
|
||||
BeforeChangeProfile += bind.BeforeChangeProfileEvent;
|
||||
@ -196,7 +191,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedChangeProfile += bind.FailedChangeProfileEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(IChangeAccountSettingEvent))
|
||||
if (this is IChangeAccountSettingEvent)
|
||||
{
|
||||
IChangeAccountSettingEvent bind = (IChangeAccountSettingEvent)this;
|
||||
BeforeChangeAccountSetting += bind.BeforeChangeAccountSettingEvent;
|
||||
@ -205,7 +200,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedChangeAccountSetting += bind.FailedChangeAccountSettingEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(IOpenInventoryEvent))
|
||||
if (this is IOpenInventoryEvent)
|
||||
{
|
||||
IOpenInventoryEvent bind = (IOpenInventoryEvent)this;
|
||||
BeforeOpenInventory += bind.BeforeOpenInventoryEvent;
|
||||
@ -214,7 +209,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedOpenInventory += bind.FailedOpenInventoryEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(ISignInEvent))
|
||||
if (this is ISignInEvent)
|
||||
{
|
||||
ISignInEvent bind = (ISignInEvent)this;
|
||||
BeforeSignIn += bind.BeforeSignInEvent;
|
||||
@ -223,7 +218,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedSignIn += bind.FailedSignInEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(IOpenStoreEvent))
|
||||
if (this is IOpenStoreEvent)
|
||||
{
|
||||
IOpenStoreEvent bind = (IOpenStoreEvent)this;
|
||||
BeforeOpenStore += bind.BeforeOpenStoreEvent;
|
||||
@ -232,7 +227,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedOpenStore += bind.FailedOpenStoreEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(IBuyItemEvent))
|
||||
if (this is IBuyItemEvent)
|
||||
{
|
||||
IBuyItemEvent bind = (IBuyItemEvent)this;
|
||||
BeforeBuyItem += bind.BeforeBuyItemEvent;
|
||||
@ -241,7 +236,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedBuyItem += bind.FailedBuyItemEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(IShowRankingEvent))
|
||||
if (this is IShowRankingEvent)
|
||||
{
|
||||
IShowRankingEvent bind = (IShowRankingEvent)this;
|
||||
BeforeShowRanking += bind.BeforeShowRankingEvent;
|
||||
@ -250,7 +245,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedShowRanking += bind.FailedShowRankingEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(IUseItemEvent))
|
||||
if (this is IUseItemEvent)
|
||||
{
|
||||
IUseItemEvent bind = (IUseItemEvent)this;
|
||||
BeforeUseItem += bind.BeforeUseItemEvent;
|
||||
@ -259,7 +254,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
FailedUseItem += bind.FailedUseItemEvent;
|
||||
}
|
||||
|
||||
if (type == typeof(IEndGameEvent))
|
||||
if (this is IEndGameEvent)
|
||||
{
|
||||
IEndGameEvent bind = (IEndGameEvent)this;
|
||||
BeforeEndGame += bind.BeforeEndGameEvent;
|
||||
@ -354,424 +349,424 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
public event IEventHandler.SucceedEventHandler? SucceedEndGame;
|
||||
public event IEventHandler.FailedEventHandler? FailedEndGame;
|
||||
|
||||
public EventResult OnBeforeConnectEvent(ConnectEventArgs e)
|
||||
public void OnBeforeConnectEvent(ConnectEventArgs e)
|
||||
{
|
||||
return BeforeConnect?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeConnect?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterConnectEvent(ConnectEventArgs e)
|
||||
public void OnAfterConnectEvent(ConnectEventArgs e)
|
||||
{
|
||||
return AfterConnect?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterConnect?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedConnectEvent(ConnectEventArgs e)
|
||||
public void OnSucceedConnectEvent(ConnectEventArgs e)
|
||||
{
|
||||
return SucceedConnect?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedConnect?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedConnectEvent(ConnectEventArgs e)
|
||||
public void OnFailedConnectEvent(ConnectEventArgs e)
|
||||
{
|
||||
return FailedConnect?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedConnect?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeDisconnectEvent(GeneralEventArgs e)
|
||||
public void OnBeforeDisconnectEvent(GeneralEventArgs e)
|
||||
{
|
||||
return BeforeDisconnect?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeDisconnect?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterDisconnectEvent(GeneralEventArgs e)
|
||||
public void OnAfterDisconnectEvent(GeneralEventArgs e)
|
||||
{
|
||||
return AfterDisconnect?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterDisconnect?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedDisconnectEvent(GeneralEventArgs e)
|
||||
public void OnSucceedDisconnectEvent(GeneralEventArgs e)
|
||||
{
|
||||
return SucceedDisconnect?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedDisconnect?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedDisconnectEvent(GeneralEventArgs e)
|
||||
public void OnFailedDisconnectEvent(GeneralEventArgs e)
|
||||
{
|
||||
return FailedDisconnect?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedDisconnect?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeLoginEvent(LoginEventArgs e)
|
||||
public void OnBeforeLoginEvent(LoginEventArgs e)
|
||||
{
|
||||
return BeforeLogin?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeLogin?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterLoginEvent(LoginEventArgs e)
|
||||
public void OnAfterLoginEvent(LoginEventArgs e)
|
||||
{
|
||||
return AfterLogin?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterLogin?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedLoginEvent(LoginEventArgs e)
|
||||
public void OnSucceedLoginEvent(LoginEventArgs e)
|
||||
{
|
||||
return SucceedLogin?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedLogin?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedLoginEvent(LoginEventArgs e)
|
||||
public void OnFailedLoginEvent(LoginEventArgs e)
|
||||
{
|
||||
return FailedLogin?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedLogin?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeLogoutEvent(GeneralEventArgs e)
|
||||
public void OnBeforeLogoutEvent(GeneralEventArgs e)
|
||||
{
|
||||
return BeforeLogout?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeLogout?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterLogoutEvent(GeneralEventArgs e)
|
||||
public void OnAfterLogoutEvent(GeneralEventArgs e)
|
||||
{
|
||||
return AfterLogout?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterLogout?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedLogoutEvent(GeneralEventArgs e)
|
||||
public void OnSucceedLogoutEvent(GeneralEventArgs e)
|
||||
{
|
||||
return SucceedLogout?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedLogout?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedLogoutEvent(GeneralEventArgs e)
|
||||
public void OnFailedLogoutEvent(GeneralEventArgs e)
|
||||
{
|
||||
return FailedLogout?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedLogout?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeRegEvent(RegisterEventArgs e)
|
||||
public void OnBeforeRegEvent(RegisterEventArgs e)
|
||||
{
|
||||
return BeforeReg?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeReg?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterRegEvent(RegisterEventArgs e)
|
||||
public void OnAfterRegEvent(RegisterEventArgs e)
|
||||
{
|
||||
return AfterReg?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterReg?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedRegEvent(RegisterEventArgs e)
|
||||
public void OnSucceedRegEvent(RegisterEventArgs e)
|
||||
{
|
||||
return SucceedReg?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedReg?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedRegEvent(RegisterEventArgs e)
|
||||
public void OnFailedRegEvent(RegisterEventArgs e)
|
||||
{
|
||||
return FailedReg?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedReg?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeIntoRoomEvent(RoomEventArgs e)
|
||||
public void OnBeforeIntoRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
return BeforeIntoRoom?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeIntoRoom?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterIntoRoomEvent(RoomEventArgs e)
|
||||
public void OnAfterIntoRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
return AfterIntoRoom?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterIntoRoom?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedIntoRoomEvent(RoomEventArgs e)
|
||||
public void OnSucceedIntoRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
return SucceedIntoRoom?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedIntoRoom?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedIntoRoomEvent(RoomEventArgs e)
|
||||
public void OnFailedIntoRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
return FailedIntoRoom?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedIntoRoom?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeSendTalkEvent(SendTalkEventArgs e)
|
||||
public void OnBeforeSendTalkEvent(SendTalkEventArgs e)
|
||||
{
|
||||
return BeforeSendTalk?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeSendTalk?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterSendTalkEvent(SendTalkEventArgs e)
|
||||
public void OnAfterSendTalkEvent(SendTalkEventArgs e)
|
||||
{
|
||||
return AfterSendTalk?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterSendTalk?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedSendTalkEvent(SendTalkEventArgs e)
|
||||
public void OnSucceedSendTalkEvent(SendTalkEventArgs e)
|
||||
{
|
||||
return SucceedSendTalk?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedSendTalk?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedSendTalkEvent(SendTalkEventArgs e)
|
||||
public void OnFailedSendTalkEvent(SendTalkEventArgs e)
|
||||
{
|
||||
return FailedSendTalk?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedSendTalk?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeCreateRoomEvent(RoomEventArgs e)
|
||||
public void OnBeforeCreateRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
return BeforeCreateRoom?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeCreateRoom?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterCreateRoomEvent(RoomEventArgs e)
|
||||
public void OnAfterCreateRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
return AfterCreateRoom?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterCreateRoom?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedCreateRoomEvent(RoomEventArgs e)
|
||||
public void OnSucceedCreateRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
return SucceedCreateRoom?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedCreateRoom?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedCreateRoomEvent(RoomEventArgs e)
|
||||
public void OnFailedCreateRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
return FailedCreateRoom?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedCreateRoom?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeQuitRoomEvent(RoomEventArgs e)
|
||||
public void OnBeforeQuitRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
return BeforeQuitRoom?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeQuitRoom?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterQuitRoomEvent(RoomEventArgs e)
|
||||
public void OnAfterQuitRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
return AfterQuitRoom?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterQuitRoom?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedQuitRoomEvent(RoomEventArgs e)
|
||||
public void OnSucceedQuitRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
return SucceedQuitRoom?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedQuitRoom?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedQuitRoomEvent(RoomEventArgs e)
|
||||
public void OnFailedQuitRoomEvent(RoomEventArgs e)
|
||||
{
|
||||
return FailedQuitRoom?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedQuitRoom?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeChangeRoomSettingEvent(GeneralEventArgs e)
|
||||
public void OnBeforeChangeRoomSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
return BeforeChangeRoomSetting?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeChangeRoomSetting?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterChangeRoomSettingEvent(GeneralEventArgs e)
|
||||
public void OnAfterChangeRoomSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
return AfterChangeRoomSetting?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterChangeRoomSetting?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedChangeRoomSettingEvent(GeneralEventArgs e)
|
||||
public void OnSucceedChangeRoomSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
return SucceedChangeRoomSetting?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedChangeRoomSetting?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedChangeRoomSettingEvent(GeneralEventArgs e)
|
||||
public void OnFailedChangeRoomSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
return FailedChangeRoomSetting?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedChangeRoomSetting?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeStartMatchEvent(GeneralEventArgs e)
|
||||
public void OnBeforeStartMatchEvent(GeneralEventArgs e)
|
||||
{
|
||||
return BeforeStartMatch?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeStartMatch?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterStartMatchEvent(GeneralEventArgs e)
|
||||
public void OnAfterStartMatchEvent(GeneralEventArgs e)
|
||||
{
|
||||
return AfterStartMatch?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterStartMatch?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedStartMatchEvent(GeneralEventArgs e)
|
||||
public void OnSucceedStartMatchEvent(GeneralEventArgs e)
|
||||
{
|
||||
return SucceedStartMatch?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedStartMatch?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedStartMatchEvent(GeneralEventArgs e)
|
||||
public void OnFailedStartMatchEvent(GeneralEventArgs e)
|
||||
{
|
||||
return FailedStartMatch?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedStartMatch?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeStartGameEvent(GeneralEventArgs e)
|
||||
public void OnBeforeStartGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
return BeforeStartGame?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeStartGame?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterStartGameEvent(GeneralEventArgs e)
|
||||
public void OnAfterStartGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
return AfterStartGame?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterStartGame?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedStartGameEvent(GeneralEventArgs e)
|
||||
public void OnSucceedStartGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
return SucceedStartGame?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedStartGame?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedStartGameEvent(GeneralEventArgs e)
|
||||
public void OnFailedStartGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
return FailedStartGame?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedStartGame?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeChangeProfileEvent(GeneralEventArgs e)
|
||||
public void OnBeforeChangeProfileEvent(GeneralEventArgs e)
|
||||
{
|
||||
return BeforeChangeProfile?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeChangeProfile?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterChangeProfileEvent(GeneralEventArgs e)
|
||||
public void OnAfterChangeProfileEvent(GeneralEventArgs e)
|
||||
{
|
||||
return AfterChangeProfile?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterChangeProfile?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedChangeProfileEvent(GeneralEventArgs e)
|
||||
public void OnSucceedChangeProfileEvent(GeneralEventArgs e)
|
||||
{
|
||||
return SucceedChangeProfile?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedChangeProfile?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedChangeProfileEvent(GeneralEventArgs e)
|
||||
public void OnFailedChangeProfileEvent(GeneralEventArgs e)
|
||||
{
|
||||
return FailedChangeProfile?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedChangeProfile?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeChangeAccountSettingEvent(GeneralEventArgs e)
|
||||
public void OnBeforeChangeAccountSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
return BeforeChangeAccountSetting?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeChangeAccountSetting?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterChangeAccountSettingEvent(GeneralEventArgs e)
|
||||
public void OnAfterChangeAccountSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
return AfterChangeAccountSetting?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterChangeAccountSetting?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedChangeAccountSettingEvent(GeneralEventArgs e)
|
||||
public void OnSucceedChangeAccountSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
return SucceedChangeAccountSetting?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedChangeAccountSetting?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedChangeAccountSettingEvent(GeneralEventArgs e)
|
||||
public void OnFailedChangeAccountSettingEvent(GeneralEventArgs e)
|
||||
{
|
||||
return FailedChangeAccountSetting?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedChangeAccountSetting?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeOpenInventoryEvent(GeneralEventArgs e)
|
||||
public void OnBeforeOpenInventoryEvent(GeneralEventArgs e)
|
||||
{
|
||||
return BeforeOpenInventory?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeOpenInventory?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterOpenInventoryEvent(GeneralEventArgs e)
|
||||
public void OnAfterOpenInventoryEvent(GeneralEventArgs e)
|
||||
{
|
||||
return AfterOpenInventory?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterOpenInventory?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedOpenInventoryEvent(GeneralEventArgs e)
|
||||
public void OnSucceedOpenInventoryEvent(GeneralEventArgs e)
|
||||
{
|
||||
return SucceedOpenInventory?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedOpenInventory?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedOpenInventoryEvent(GeneralEventArgs e)
|
||||
public void OnFailedOpenInventoryEvent(GeneralEventArgs e)
|
||||
{
|
||||
return FailedOpenInventory?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedOpenInventory?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeSignInEvent(GeneralEventArgs e)
|
||||
public void OnBeforeSignInEvent(GeneralEventArgs e)
|
||||
{
|
||||
return BeforeSignIn?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeSignIn?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterSignInEvent(GeneralEventArgs e)
|
||||
public void OnAfterSignInEvent(GeneralEventArgs e)
|
||||
{
|
||||
return AfterSignIn?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterSignIn?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedSignInEvent(GeneralEventArgs e)
|
||||
public void OnSucceedSignInEvent(GeneralEventArgs e)
|
||||
{
|
||||
return SucceedSignIn?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedSignIn?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedSignInEvent(GeneralEventArgs e)
|
||||
public void OnFailedSignInEvent(GeneralEventArgs e)
|
||||
{
|
||||
return FailedSignIn?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedSignIn?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeOpenStoreEvent(GeneralEventArgs e)
|
||||
public void OnBeforeOpenStoreEvent(GeneralEventArgs e)
|
||||
{
|
||||
return BeforeOpenStore?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeOpenStore?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterOpenStoreEvent(GeneralEventArgs e)
|
||||
public void OnAfterOpenStoreEvent(GeneralEventArgs e)
|
||||
{
|
||||
return AfterOpenStore?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterOpenStore?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedOpenStoreEvent(GeneralEventArgs e)
|
||||
public void OnSucceedOpenStoreEvent(GeneralEventArgs e)
|
||||
{
|
||||
return SucceedOpenStore?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedOpenStore?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedOpenStoreEvent(GeneralEventArgs e)
|
||||
public void OnFailedOpenStoreEvent(GeneralEventArgs e)
|
||||
{
|
||||
return FailedOpenStore?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedOpenStore?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeBuyItemEvent(GeneralEventArgs e)
|
||||
public void OnBeforeBuyItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
return BeforeBuyItem?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeBuyItem?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterBuyItemEvent(GeneralEventArgs e)
|
||||
public void OnAfterBuyItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
return AfterBuyItem?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterBuyItem?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedBuyItemEvent(GeneralEventArgs e)
|
||||
public void OnSucceedBuyItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
return SucceedBuyItem?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedBuyItem?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedBuyItemEvent(GeneralEventArgs e)
|
||||
public void OnFailedBuyItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
return FailedBuyItem?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedBuyItem?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeShowRankingEvent(GeneralEventArgs e)
|
||||
public void OnBeforeShowRankingEvent(GeneralEventArgs e)
|
||||
{
|
||||
return BeforeShowRanking?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeShowRanking?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterShowRankingEvent(GeneralEventArgs e)
|
||||
public void OnAfterShowRankingEvent(GeneralEventArgs e)
|
||||
{
|
||||
return AfterShowRanking?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterShowRanking?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedShowRankingEvent(GeneralEventArgs e)
|
||||
public void OnSucceedShowRankingEvent(GeneralEventArgs e)
|
||||
{
|
||||
return SucceedShowRanking?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedShowRanking?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedShowRankingEvent(GeneralEventArgs e)
|
||||
public void OnFailedShowRankingEvent(GeneralEventArgs e)
|
||||
{
|
||||
return FailedShowRanking?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedShowRanking?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeUseItemEvent(GeneralEventArgs e)
|
||||
public void OnBeforeUseItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
return BeforeUseItem?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeUseItem?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterUseItemEvent(GeneralEventArgs e)
|
||||
public void OnAfterUseItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
return AfterUseItem?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterUseItem?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedUseItemEvent(GeneralEventArgs e)
|
||||
public void OnSucceedUseItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
return SucceedUseItem?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedUseItem?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedUseItemEvent(GeneralEventArgs e)
|
||||
public void OnFailedUseItemEvent(GeneralEventArgs e)
|
||||
{
|
||||
return FailedUseItem?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedUseItem?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnBeforeEndGameEvent(GeneralEventArgs e)
|
||||
public void OnBeforeEndGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
return BeforeEndGame?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
BeforeEndGame?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnAfterEndGameEvent(GeneralEventArgs e)
|
||||
public void OnAfterEndGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
return AfterEndGame?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
AfterEndGame?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnSucceedEndGameEvent(GeneralEventArgs e)
|
||||
public void OnSucceedEndGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
return SucceedEndGame?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
SucceedEndGame?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public EventResult OnFailedEndGameEvent(GeneralEventArgs e)
|
||||
public void OnFailedEndGameEvent(GeneralEventArgs e)
|
||||
{
|
||||
return FailedEndGame?.Invoke(this, e) ?? EventResult.NoEventImplement;
|
||||
FailedEndGame?.Invoke(this, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
using Milimoe.FunGame.Core.Interface;
|
||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
||||
using Milimoe.FunGame.Core.Library.Constant;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
{
|
||||
@ -18,24 +17,24 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
|
||||
|
||||
public override string Author => "FunGamer";
|
||||
|
||||
public EventResult AfterLoginEvent(object sender, LoginEventArgs e)
|
||||
public void AfterLoginEvent(object sender, LoginEventArgs e)
|
||||
{
|
||||
return EventResult.Success;
|
||||
|
||||
}
|
||||
|
||||
public EventResult BeforeLoginEvent(object sender, LoginEventArgs e)
|
||||
public void BeforeLoginEvent(object sender, LoginEventArgs e)
|
||||
{
|
||||
return EventResult.Success;
|
||||
|
||||
}
|
||||
|
||||
public EventResult FailedLoginEvent(object sender, LoginEventArgs e)
|
||||
public void FailedLoginEvent(object sender, LoginEventArgs e)
|
||||
{
|
||||
return EventResult.Success;
|
||||
|
||||
}
|
||||
|
||||
public EventResult SucceedLoginEvent(object sender, LoginEventArgs e)
|
||||
public void SucceedLoginEvent(object sender, LoginEventArgs e)
|
||||
{
|
||||
return EventResult.Success;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -5,32 +5,28 @@ namespace Milimoe.FunGame.Core.Service
|
||||
{
|
||||
internal class PluginManager
|
||||
{
|
||||
public static Dictionary<string, BasePlugin> LoadPlugin()
|
||||
/// <summary>
|
||||
/// 从plugins目录加载所有插件
|
||||
/// </summary>
|
||||
/// <param name="plugins"></param>
|
||||
/// <returns></returns>
|
||||
internal static Dictionary<string, BasePlugin> LoadPlugins(Dictionary<string, BasePlugin> plugins)
|
||||
{
|
||||
Dictionary<string, BasePlugin> plugins = new();
|
||||
string directory = "plugins";
|
||||
|
||||
// 获取目录中所有的 DLL 文件路径
|
||||
string[] dlls = Directory.GetFiles(directory, "*.dll");
|
||||
string[] dlls = Directory.GetFiles("plugins", "*.dll");
|
||||
|
||||
foreach (string dll in dlls)
|
||||
{
|
||||
try
|
||||
{
|
||||
// 加载 DLL
|
||||
Assembly assembly = Assembly.LoadFrom(dll);
|
||||
// 加载目录下所有的DLL
|
||||
Assembly assembly = Assembly.LoadFrom(dll);
|
||||
|
||||
// 遍历 DLL 中的类型
|
||||
foreach (Type type in assembly.GetTypes().AsEnumerable().Where(type => type.IsSubclassOf(typeof(BasePlugin))))
|
||||
{
|
||||
BasePlugin instance = Activator.CreateInstance<BasePlugin>();
|
||||
plugins.Add(instance.Name, instance);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
// 遍历DLL中继承了BasePlugin的类型
|
||||
foreach (Type type in assembly.GetTypes().AsEnumerable().Where(type => type.IsSubclassOf(typeof(BasePlugin))))
|
||||
{
|
||||
Console.WriteLine($"Failed to load DLL: {dll}");
|
||||
Console.WriteLine($"Error: {e.Message}");
|
||||
BasePlugin? instance = (BasePlugin?)Activator.CreateInstance(type);
|
||||
if (instance != null && instance.Load())
|
||||
{
|
||||
plugins.TryAdd(instance.Name, instance);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user