为插件添加更多默认属性;优化了房间相关 (#55)

This commit is contained in:
milimoe 2023-09-26 01:01:46 +08:00 committed by GitHub
parent 082ce3b6f5
commit 52b4fc2078
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 528 additions and 440 deletions

View File

@ -78,13 +78,42 @@ namespace Milimoe.FunGame.Core.Api.Utility
return RoomFactory.Create(Id, Roomid, CreateTime, RoomMaster, RoomType, RoomState, Password); return RoomFactory.Create(Id, Roomid, CreateTime, RoomMaster, RoomType, RoomState, Password);
} }
/// <summary>
/// 通过DataSet获取房间实例
/// </summary>
/// <param name="DsRoom"></param>
/// <param name="DsUser"></param>
/// <returns></returns>
public static Room GetRoom(DataRow DrRoom, User User)
{
Room room = General.HallInstance;
if (DrRoom != null)
{
long Id = (long)DrRoom[RoomQuery.Column_ID];
string Roomid = (string)DrRoom[RoomQuery.Column_RoomID];
DateTime CreateTime = (DateTime)DrRoom[RoomQuery.Column_CreateTime];
User RoomMaster = User;
RoomType RoomType = (RoomType)Convert.ToInt32(DrRoom[RoomQuery.Column_RoomType]);
RoomState RoomState = (RoomState)Convert.ToInt32(DrRoom[RoomQuery.Column_RoomState]);
string Password = (string)DrRoom[RoomQuery.Column_Password];
room = GetRoom(Id, Roomid, CreateTime, RoomMaster, RoomType, RoomState, Password);
}
return room;
}
/// <summary>
/// 通过DataSet获取房间列表
/// </summary>
/// <param name="DsRoom"></param>
/// <param name="DsUser"></param>
/// <returns></returns>
public static List<Room> GetRooms(DataSet DsRoom, DataSet DsUser) public static List<Room> GetRooms(DataSet DsRoom, DataSet DsUser)
{ {
List<Room> list = new() List<Room> list = new()
{ {
General.HallInstance General.HallInstance
}; };
if (DsRoom != null && DsRoom.Tables.Count > 0) if (DsRoom != null && DsRoom.Tables[0].Rows.Count > 0)
{ {
foreach (DataRow DrRoom in DsRoom.Tables[0].Rows) foreach (DataRow DrRoom in DsRoom.Tables[0].Rows)
{ {

View File

@ -13,682 +13,682 @@ namespace Milimoe.FunGame.Core.Api.Utility
} }
public static PluginLoader LoadPlugins() public static PluginLoader LoadPlugins(params object[] objs)
{ {
PluginLoader loader = new(); PluginLoader loader = new();
PluginManager.LoadPlugins(loader.Plugins); PluginManager.LoadPlugins(loader.Plugins, objs);
return loader; return loader;
} }
public void OnBeforeConnectEvent(ConnectEventArgs e) public void OnBeforeConnectEvent(object sender,ConnectEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeConnectEvent(e); plugin.OnBeforeConnectEvent(sender, e);
}); });
} }
public void OnAfterConnectEvent(ConnectEventArgs e) public void OnAfterConnectEvent(object sender,ConnectEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterConnectEvent(e); plugin.OnAfterConnectEvent(sender, e);
}); });
} }
public void OnSucceedConnectEvent(ConnectEventArgs e) public void OnSucceedConnectEvent(object sender,ConnectEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedConnectEvent(e); plugin.OnSucceedConnectEvent(sender, e);
}); });
} }
public void OnFailedConnectEvent(ConnectEventArgs e) public void OnFailedConnectEvent(object sender,ConnectEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedConnectEvent(e); plugin.OnFailedConnectEvent(sender, e);
}); });
} }
public void OnBeforeDisconnectEvent(GeneralEventArgs e) public void OnBeforeDisconnectEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeDisconnectEvent(e); plugin.OnBeforeDisconnectEvent(sender, e);
}); });
} }
public void OnAfterDisconnectEvent(GeneralEventArgs e) public void OnAfterDisconnectEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterDisconnectEvent(e); plugin.OnAfterDisconnectEvent(sender, e);
}); });
} }
public void OnSucceedDisconnectEvent(GeneralEventArgs e) public void OnSucceedDisconnectEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedDisconnectEvent(e); plugin.OnSucceedDisconnectEvent(sender, e);
}); });
} }
public void OnFailedDisconnectEvent(GeneralEventArgs e) public void OnFailedDisconnectEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedDisconnectEvent(e); plugin.OnFailedDisconnectEvent(sender, e);
}); });
} }
public void OnBeforeLoginEvent(LoginEventArgs e) public void OnBeforeLoginEvent(object sender,LoginEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeLoginEvent(e); plugin.OnBeforeLoginEvent(sender, e);
}); });
} }
public void OnAfterLoginEvent(LoginEventArgs e) public void OnAfterLoginEvent(object sender,LoginEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterLoginEvent(e); plugin.OnAfterLoginEvent(sender, e);
}); });
} }
public void OnSucceedLoginEvent(LoginEventArgs e) public void OnSucceedLoginEvent(object sender,LoginEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedLoginEvent(e); plugin.OnSucceedLoginEvent(sender, e);
}); });
} }
public void OnFailedLoginEvent(LoginEventArgs e) public void OnFailedLoginEvent(object sender,LoginEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedLoginEvent(e); plugin.OnFailedLoginEvent(sender, e);
}); });
} }
public void OnBeforeLogoutEvent(GeneralEventArgs e) public void OnBeforeLogoutEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeLogoutEvent(e); plugin.OnBeforeLogoutEvent(sender, e);
}); });
} }
public void OnAfterLogoutEvent(GeneralEventArgs e) public void OnAfterLogoutEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterLogoutEvent(e); plugin.OnAfterLogoutEvent(sender, e);
}); });
} }
public void OnSucceedLogoutEvent(GeneralEventArgs e) public void OnSucceedLogoutEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedLogoutEvent(e); plugin.OnSucceedLogoutEvent(sender, e);
}); });
} }
public void OnFailedLogoutEvent(GeneralEventArgs e) public void OnFailedLogoutEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedLogoutEvent(e); plugin.OnFailedLogoutEvent(sender, e);
}); });
} }
public void OnBeforeRegEvent(RegisterEventArgs e) public void OnBeforeRegEvent(object sender,RegisterEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeRegEvent(e); plugin.OnBeforeRegEvent(sender, e);
}); });
} }
public void OnAfterRegEvent(RegisterEventArgs e) public void OnAfterRegEvent(object sender,RegisterEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterRegEvent(e); plugin.OnAfterRegEvent(sender, e);
}); });
} }
public void OnSucceedRegEvent(RegisterEventArgs e) public void OnSucceedRegEvent(object sender,RegisterEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedRegEvent(e); plugin.OnSucceedRegEvent(sender, e);
}); });
} }
public void OnFailedRegEvent(RegisterEventArgs e) public void OnFailedRegEvent(object sender,RegisterEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedRegEvent(e); plugin.OnFailedRegEvent(sender, e);
}); });
} }
public void OnBeforeIntoRoomEvent(RoomEventArgs e) public void OnBeforeIntoRoomEvent(object sender,RoomEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeIntoRoomEvent(e); plugin.OnBeforeIntoRoomEvent(sender, e);
}); });
} }
public void OnAfterIntoRoomEvent(RoomEventArgs e) public void OnAfterIntoRoomEvent(object sender,RoomEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterIntoRoomEvent(e); plugin.OnAfterIntoRoomEvent(sender, e);
}); });
} }
public void OnSucceedIntoRoomEvent(RoomEventArgs e) public void OnSucceedIntoRoomEvent(object sender,RoomEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedIntoRoomEvent(e); plugin.OnSucceedIntoRoomEvent(sender, e);
}); });
} }
public void OnFailedIntoRoomEvent(RoomEventArgs e) public void OnFailedIntoRoomEvent(object sender,RoomEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedIntoRoomEvent(e); plugin.OnFailedIntoRoomEvent(sender, e);
}); });
} }
public void OnBeforeSendTalkEvent(SendTalkEventArgs e) public void OnBeforeSendTalkEvent(object sender,SendTalkEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeSendTalkEvent(e); plugin.OnBeforeSendTalkEvent(sender, e);
}); });
} }
public void OnAfterSendTalkEvent(SendTalkEventArgs e) public void OnAfterSendTalkEvent(object sender,SendTalkEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterSendTalkEvent(e); plugin.OnAfterSendTalkEvent(sender, e);
}); });
} }
public void OnSucceedSendTalkEvent(SendTalkEventArgs e) public void OnSucceedSendTalkEvent(object sender,SendTalkEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedSendTalkEvent(e); plugin.OnSucceedSendTalkEvent(sender, e);
}); });
} }
public void OnFailedSendTalkEvent(SendTalkEventArgs e) public void OnFailedSendTalkEvent(object sender,SendTalkEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedSendTalkEvent(e); plugin.OnFailedSendTalkEvent(sender, e);
}); });
} }
public void OnBeforeCreateRoomEvent(RoomEventArgs e) public void OnBeforeCreateRoomEvent(object sender,RoomEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeCreateRoomEvent(e); plugin.OnBeforeCreateRoomEvent(sender, e);
}); });
} }
public void OnAfterCreateRoomEvent(RoomEventArgs e) public void OnAfterCreateRoomEvent(object sender,RoomEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterCreateRoomEvent(e); plugin.OnAfterCreateRoomEvent(sender, e);
}); });
} }
public void OnSucceedCreateRoomEvent(RoomEventArgs e) public void OnSucceedCreateRoomEvent(object sender,RoomEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedCreateRoomEvent(e); plugin.OnSucceedCreateRoomEvent(sender, e);
}); });
} }
public void OnFailedCreateRoomEvent(RoomEventArgs e) public void OnFailedCreateRoomEvent(object sender,RoomEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedCreateRoomEvent(e); plugin.OnFailedCreateRoomEvent(sender, e);
}); });
} }
public void OnBeforeQuitRoomEvent(RoomEventArgs e) public void OnBeforeQuitRoomEvent(object sender,RoomEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeQuitRoomEvent(e); plugin.OnBeforeQuitRoomEvent(sender, e);
}); });
} }
public void OnAfterQuitRoomEvent(RoomEventArgs e) public void OnAfterQuitRoomEvent(object sender,RoomEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterQuitRoomEvent(e); plugin.OnAfterQuitRoomEvent(sender, e);
}); });
} }
public void OnSucceedQuitRoomEvent(RoomEventArgs e) public void OnSucceedQuitRoomEvent(object sender,RoomEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedQuitRoomEvent(e); plugin.OnSucceedQuitRoomEvent(sender, e);
}); });
} }
public void OnFailedQuitRoomEvent(RoomEventArgs e) public void OnFailedQuitRoomEvent(object sender,RoomEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedQuitRoomEvent(e); plugin.OnFailedQuitRoomEvent(sender, e);
}); });
} }
public void OnBeforeChangeRoomSettingEvent(GeneralEventArgs e) public void OnBeforeChangeRoomSettingEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeChangeRoomSettingEvent(e); plugin.OnBeforeChangeRoomSettingEvent(sender, e);
}); });
} }
public void OnAfterChangeRoomSettingEvent(GeneralEventArgs e) public void OnAfterChangeRoomSettingEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterChangeRoomSettingEvent(e); plugin.OnAfterChangeRoomSettingEvent(sender, e);
}); });
} }
public void OnSucceedChangeRoomSettingEvent(GeneralEventArgs e) public void OnSucceedChangeRoomSettingEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedChangeRoomSettingEvent(e); plugin.OnSucceedChangeRoomSettingEvent(sender, e);
}); });
} }
public void OnFailedChangeRoomSettingEvent(GeneralEventArgs e) public void OnFailedChangeRoomSettingEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedChangeRoomSettingEvent(e); plugin.OnFailedChangeRoomSettingEvent(sender, e);
}); });
} }
public void OnBeforeStartMatchEvent(GeneralEventArgs e) public void OnBeforeStartMatchEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeStartMatchEvent(e); plugin.OnBeforeStartMatchEvent(sender, e);
}); });
} }
public void OnAfterStartMatchEvent(GeneralEventArgs e) public void OnAfterStartMatchEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterStartMatchEvent(e); plugin.OnAfterStartMatchEvent(sender, e);
}); });
} }
public void OnSucceedStartMatchEvent(GeneralEventArgs e) public void OnSucceedStartMatchEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedStartMatchEvent(e); plugin.OnSucceedStartMatchEvent(sender, e);
}); });
} }
public void OnFailedStartMatchEvent(GeneralEventArgs e) public void OnFailedStartMatchEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedStartMatchEvent(e); plugin.OnFailedStartMatchEvent(sender, e);
}); });
} }
public void OnBeforeStartGameEvent(GeneralEventArgs e) public void OnBeforeStartGameEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeStartGameEvent(e); plugin.OnBeforeStartGameEvent(sender, e);
}); });
} }
public void OnAfterStartGameEvent(GeneralEventArgs e) public void OnAfterStartGameEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterStartGameEvent(e); plugin.OnAfterStartGameEvent(sender, e);
}); });
} }
public void OnSucceedStartGameEvent(GeneralEventArgs e) public void OnSucceedStartGameEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedStartGameEvent(e); plugin.OnSucceedStartGameEvent(sender, e);
}); });
} }
public void OnFailedStartGameEvent(GeneralEventArgs e) public void OnFailedStartGameEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedStartGameEvent(e); plugin.OnFailedStartGameEvent(sender, e);
}); });
} }
public void OnBeforeChangeProfileEvent(GeneralEventArgs e) public void OnBeforeChangeProfileEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeChangeProfileEvent(e); plugin.OnBeforeChangeProfileEvent(sender, e);
}); });
} }
public void OnAfterChangeProfileEvent(GeneralEventArgs e) public void OnAfterChangeProfileEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterChangeProfileEvent(e); plugin.OnAfterChangeProfileEvent(sender, e);
}); });
} }
public void OnSucceedChangeProfileEvent(GeneralEventArgs e) public void OnSucceedChangeProfileEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedChangeProfileEvent(e); plugin.OnSucceedChangeProfileEvent(sender, e);
}); });
} }
public void OnFailedChangeProfileEvent(GeneralEventArgs e) public void OnFailedChangeProfileEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedChangeProfileEvent(e); plugin.OnFailedChangeProfileEvent(sender, e);
}); });
} }
public void OnBeforeChangeAccountSettingEvent(GeneralEventArgs e) public void OnBeforeChangeAccountSettingEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeChangeAccountSettingEvent(e); plugin.OnBeforeChangeAccountSettingEvent(sender, e);
}); });
} }
public void OnAfterChangeAccountSettingEvent(GeneralEventArgs e) public void OnAfterChangeAccountSettingEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterChangeAccountSettingEvent(e); plugin.OnAfterChangeAccountSettingEvent(sender, e);
}); });
} }
public void OnSucceedChangeAccountSettingEvent(GeneralEventArgs e) public void OnSucceedChangeAccountSettingEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedChangeAccountSettingEvent(e); plugin.OnSucceedChangeAccountSettingEvent(sender, e);
}); });
} }
public void OnFailedChangeAccountSettingEvent(GeneralEventArgs e) public void OnFailedChangeAccountSettingEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedChangeAccountSettingEvent(e); plugin.OnFailedChangeAccountSettingEvent(sender, e);
}); });
} }
public void OnBeforeOpenInventoryEvent(GeneralEventArgs e) public void OnBeforeOpenInventoryEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeOpenInventoryEvent(e); plugin.OnBeforeOpenInventoryEvent(sender, e);
}); });
} }
public void OnAfterOpenInventoryEvent(GeneralEventArgs e) public void OnAfterOpenInventoryEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterOpenInventoryEvent(e); plugin.OnAfterOpenInventoryEvent(sender, e);
}); });
} }
public void OnSucceedOpenInventoryEvent(GeneralEventArgs e) public void OnSucceedOpenInventoryEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedOpenInventoryEvent(e); plugin.OnSucceedOpenInventoryEvent(sender, e);
}); });
} }
public void OnFailedOpenInventoryEvent(GeneralEventArgs e) public void OnFailedOpenInventoryEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedOpenInventoryEvent(e); plugin.OnFailedOpenInventoryEvent(sender, e);
}); });
} }
public void OnBeforeSignInEvent(GeneralEventArgs e) public void OnBeforeSignInEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeSignInEvent(e); plugin.OnBeforeSignInEvent(sender, e);
}); });
} }
public void OnAfterSignInEvent(GeneralEventArgs e) public void OnAfterSignInEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterSignInEvent(e); plugin.OnAfterSignInEvent(sender, e);
}); });
} }
public void OnSucceedSignInEvent(GeneralEventArgs e) public void OnSucceedSignInEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedSignInEvent(e); plugin.OnSucceedSignInEvent(sender, e);
}); });
} }
public void OnFailedSignInEvent(GeneralEventArgs e) public void OnFailedSignInEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedSignInEvent(e); plugin.OnFailedSignInEvent(sender, e);
}); });
} }
public void OnBeforeOpenStoreEvent(GeneralEventArgs e) public void OnBeforeOpenStoreEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeOpenStoreEvent(e); plugin.OnBeforeOpenStoreEvent(sender, e);
}); });
} }
public void OnAfterOpenStoreEvent(GeneralEventArgs e) public void OnAfterOpenStoreEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterOpenStoreEvent(e); plugin.OnAfterOpenStoreEvent(sender, e);
}); });
} }
public void OnSucceedOpenStoreEvent(GeneralEventArgs e) public void OnSucceedOpenStoreEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedOpenStoreEvent(e); plugin.OnSucceedOpenStoreEvent(sender, e);
}); });
} }
public void OnFailedOpenStoreEvent(GeneralEventArgs e) public void OnFailedOpenStoreEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedOpenStoreEvent(e); plugin.OnFailedOpenStoreEvent(sender, e);
}); });
} }
public void OnBeforeBuyItemEvent(GeneralEventArgs e) public void OnBeforeBuyItemEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeBuyItemEvent(e); plugin.OnBeforeBuyItemEvent(sender, e);
}); });
} }
public void OnAfterBuyItemEvent(GeneralEventArgs e) public void OnAfterBuyItemEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterBuyItemEvent(e); plugin.OnAfterBuyItemEvent(sender, e);
}); });
} }
public void OnSucceedBuyItemEvent(GeneralEventArgs e) public void OnSucceedBuyItemEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedBuyItemEvent(e); plugin.OnSucceedBuyItemEvent(sender, e);
}); });
} }
public void OnFailedBuyItemEvent(GeneralEventArgs e) public void OnFailedBuyItemEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedBuyItemEvent(e); plugin.OnFailedBuyItemEvent(sender, e);
}); });
} }
public void OnBeforeShowRankingEvent(GeneralEventArgs e) public void OnBeforeShowRankingEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeShowRankingEvent(e); plugin.OnBeforeShowRankingEvent(sender, e);
}); });
} }
public void OnAfterShowRankingEvent(GeneralEventArgs e) public void OnAfterShowRankingEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterShowRankingEvent(e); plugin.OnAfterShowRankingEvent(sender, e);
}); });
} }
public void OnSucceedShowRankingEvent(GeneralEventArgs e) public void OnSucceedShowRankingEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedShowRankingEvent(e); plugin.OnSucceedShowRankingEvent(sender, e);
}); });
} }
public void OnFailedShowRankingEvent(GeneralEventArgs e) public void OnFailedShowRankingEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedShowRankingEvent(e); plugin.OnFailedShowRankingEvent(sender, e);
}); });
} }
public void OnBeforeUseItemEvent(GeneralEventArgs e) public void OnBeforeUseItemEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeUseItemEvent(e); plugin.OnBeforeUseItemEvent(sender, e);
}); });
} }
public void OnAfterUseItemEvent(GeneralEventArgs e) public void OnAfterUseItemEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterUseItemEvent(e); plugin.OnAfterUseItemEvent(sender, e);
}); });
} }
public void OnSucceedUseItemEvent(GeneralEventArgs e) public void OnSucceedUseItemEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedUseItemEvent(e); plugin.OnSucceedUseItemEvent(sender, e);
}); });
} }
public void OnFailedUseItemEvent(GeneralEventArgs e) public void OnFailedUseItemEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedUseItemEvent(e); plugin.OnFailedUseItemEvent(sender, e);
}); });
} }
public void OnBeforeEndGameEvent(GeneralEventArgs e) public void OnBeforeEndGameEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnBeforeEndGameEvent(e); plugin.OnBeforeEndGameEvent(sender, e);
}); });
} }
public void OnAfterEndGameEvent(GeneralEventArgs e) public void OnAfterEndGameEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnAfterEndGameEvent(e); plugin.OnAfterEndGameEvent(sender, e);
}); });
} }
public void OnSucceedEndGameEvent(GeneralEventArgs e) public void OnSucceedEndGameEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnSucceedEndGameEvent(e); plugin.OnSucceedEndGameEvent(sender, e);
}); });
} }
public void OnFailedEndGameEvent(GeneralEventArgs e) public void OnFailedEndGameEvent(object sender,GeneralEventArgs e)
{ {
Parallel.ForEach(Plugins.Values, plugin => Parallel.ForEach(Plugins.Values, plugin =>
{ {
plugin.OnFailedEndGameEvent(e); plugin.OnFailedEndGameEvent(sender, e);
}); });
} }
} }

View File

@ -9,6 +9,6 @@
public string Version { get; } public string Version { get; }
public string Author { get; } public string Author { get; }
public bool Load(); public bool Load(params object[] objs);
} }
} }

View File

@ -25,10 +25,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedConnect; public event SucceedEventHandler? SucceedConnect;
public event FailedEventHandler? FailedConnect; public event FailedEventHandler? FailedConnect;
public void OnBeforeConnectEvent(ConnectEventArgs e); public void OnBeforeConnectEvent(object sender,ConnectEventArgs e);
public void OnAfterConnectEvent(ConnectEventArgs e); public void OnAfterConnectEvent(object sender,ConnectEventArgs e);
public void OnSucceedConnectEvent(ConnectEventArgs e); public void OnSucceedConnectEvent(object sender,ConnectEventArgs e);
public void OnFailedConnectEvent(ConnectEventArgs e); public void OnFailedConnectEvent(object sender,ConnectEventArgs e);
} }
public interface IDisconnectEventHandler : IEventHandler public interface IDisconnectEventHandler : IEventHandler
@ -38,10 +38,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedDisconnect; public event SucceedEventHandler? SucceedDisconnect;
public event FailedEventHandler? FailedDisconnect; public event FailedEventHandler? FailedDisconnect;
public void OnBeforeDisconnectEvent(GeneralEventArgs e); public void OnBeforeDisconnectEvent(object sender,GeneralEventArgs e);
public void OnAfterDisconnectEvent(GeneralEventArgs e); public void OnAfterDisconnectEvent(object sender,GeneralEventArgs e);
public void OnSucceedDisconnectEvent(GeneralEventArgs e); public void OnSucceedDisconnectEvent(object sender,GeneralEventArgs e);
public void OnFailedDisconnectEvent(GeneralEventArgs e); public void OnFailedDisconnectEvent(object sender,GeneralEventArgs e);
} }
public interface ILoginEventHandler : IEventHandler public interface ILoginEventHandler : IEventHandler
@ -56,10 +56,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedLogin; public event SucceedEventHandler? SucceedLogin;
public event FailedEventHandler? FailedLogin; public event FailedEventHandler? FailedLogin;
public void OnBeforeLoginEvent(LoginEventArgs e); public void OnBeforeLoginEvent(object sender,LoginEventArgs e);
public void OnAfterLoginEvent(LoginEventArgs e); public void OnAfterLoginEvent(object sender,LoginEventArgs e);
public void OnSucceedLoginEvent(LoginEventArgs e); public void OnSucceedLoginEvent(object sender,LoginEventArgs e);
public void OnFailedLoginEvent(LoginEventArgs e); public void OnFailedLoginEvent(object sender,LoginEventArgs e);
} }
public interface ILogoutEventHandler : IEventHandler public interface ILogoutEventHandler : IEventHandler
@ -69,10 +69,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedLogout; public event SucceedEventHandler? SucceedLogout;
public event FailedEventHandler? FailedLogout; public event FailedEventHandler? FailedLogout;
public void OnBeforeLogoutEvent(GeneralEventArgs e); public void OnBeforeLogoutEvent(object sender,GeneralEventArgs e);
public void OnAfterLogoutEvent(GeneralEventArgs e); public void OnAfterLogoutEvent(object sender,GeneralEventArgs e);
public void OnSucceedLogoutEvent(GeneralEventArgs e); public void OnSucceedLogoutEvent(object sender,GeneralEventArgs e);
public void OnFailedLogoutEvent(GeneralEventArgs e); public void OnFailedLogoutEvent(object sender,GeneralEventArgs e);
} }
public interface IRegEventHandler : IEventHandler public interface IRegEventHandler : IEventHandler
@ -87,10 +87,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedReg; public event SucceedEventHandler? SucceedReg;
public event FailedEventHandler? FailedReg; public event FailedEventHandler? FailedReg;
public void OnBeforeRegEvent(RegisterEventArgs e); public void OnBeforeRegEvent(object sender,RegisterEventArgs e);
public void OnAfterRegEvent(RegisterEventArgs e); public void OnAfterRegEvent(object sender,RegisterEventArgs e);
public void OnSucceedRegEvent(RegisterEventArgs e); public void OnSucceedRegEvent(object sender,RegisterEventArgs e);
public void OnFailedRegEvent(RegisterEventArgs e); public void OnFailedRegEvent(object sender,RegisterEventArgs e);
} }
public interface IIntoRoomEventHandler : IEventHandler public interface IIntoRoomEventHandler : IEventHandler
@ -105,10 +105,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedIntoRoom; public event SucceedEventHandler? SucceedIntoRoom;
public event FailedEventHandler? FailedIntoRoom; public event FailedEventHandler? FailedIntoRoom;
public void OnBeforeIntoRoomEvent(RoomEventArgs e); public void OnBeforeIntoRoomEvent(object sender,RoomEventArgs e);
public void OnAfterIntoRoomEvent(RoomEventArgs e); public void OnAfterIntoRoomEvent(object sender,RoomEventArgs e);
public void OnSucceedIntoRoomEvent(RoomEventArgs e); public void OnSucceedIntoRoomEvent(object sender,RoomEventArgs e);
public void OnFailedIntoRoomEvent(RoomEventArgs e); public void OnFailedIntoRoomEvent(object sender,RoomEventArgs e);
} }
public interface ISendTalkEventHandler : IEventHandler public interface ISendTalkEventHandler : IEventHandler
@ -123,10 +123,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedSendTalk; public event SucceedEventHandler? SucceedSendTalk;
public event FailedEventHandler? FailedSendTalk; public event FailedEventHandler? FailedSendTalk;
public void OnBeforeSendTalkEvent(SendTalkEventArgs e); public void OnBeforeSendTalkEvent(object sender,SendTalkEventArgs e);
public void OnAfterSendTalkEvent(SendTalkEventArgs e); public void OnAfterSendTalkEvent(object sender,SendTalkEventArgs e);
public void OnSucceedSendTalkEvent(SendTalkEventArgs e); public void OnSucceedSendTalkEvent(object sender,SendTalkEventArgs e);
public void OnFailedSendTalkEvent(SendTalkEventArgs e); public void OnFailedSendTalkEvent(object sender,SendTalkEventArgs e);
} }
public interface ICreateRoomEventHandler : IEventHandler public interface ICreateRoomEventHandler : IEventHandler
@ -141,10 +141,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedCreateRoom; public event SucceedEventHandler? SucceedCreateRoom;
public event FailedEventHandler? FailedCreateRoom; public event FailedEventHandler? FailedCreateRoom;
public void OnBeforeCreateRoomEvent(RoomEventArgs e); public void OnBeforeCreateRoomEvent(object sender,RoomEventArgs e);
public void OnAfterCreateRoomEvent(RoomEventArgs e); public void OnAfterCreateRoomEvent(object sender,RoomEventArgs e);
public void OnSucceedCreateRoomEvent(RoomEventArgs e); public void OnSucceedCreateRoomEvent(object sender,RoomEventArgs e);
public void OnFailedCreateRoomEvent(RoomEventArgs e); public void OnFailedCreateRoomEvent(object sender,RoomEventArgs e);
} }
public interface IQuitRoomEventHandler : IEventHandler public interface IQuitRoomEventHandler : IEventHandler
@ -159,10 +159,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedQuitRoom; public event SucceedEventHandler? SucceedQuitRoom;
public event FailedEventHandler? FailedQuitRoom; public event FailedEventHandler? FailedQuitRoom;
public void OnBeforeQuitRoomEvent(RoomEventArgs e); public void OnBeforeQuitRoomEvent(object sender,RoomEventArgs e);
public void OnAfterQuitRoomEvent(RoomEventArgs e); public void OnAfterQuitRoomEvent(object sender,RoomEventArgs e);
public void OnSucceedQuitRoomEvent(RoomEventArgs e); public void OnSucceedQuitRoomEvent(object sender,RoomEventArgs e);
public void OnFailedQuitRoomEvent(RoomEventArgs e); public void OnFailedQuitRoomEvent(object sender,RoomEventArgs e);
} }
public interface IChangeRoomSettingEventHandler : IEventHandler public interface IChangeRoomSettingEventHandler : IEventHandler
@ -172,10 +172,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedChangeRoomSetting; public event SucceedEventHandler? SucceedChangeRoomSetting;
public event FailedEventHandler? FailedChangeRoomSetting; public event FailedEventHandler? FailedChangeRoomSetting;
public void OnBeforeChangeRoomSettingEvent(GeneralEventArgs e); public void OnBeforeChangeRoomSettingEvent(object sender,GeneralEventArgs e);
public void OnAfterChangeRoomSettingEvent(GeneralEventArgs e); public void OnAfterChangeRoomSettingEvent(object sender,GeneralEventArgs e);
public void OnSucceedChangeRoomSettingEvent(GeneralEventArgs e); public void OnSucceedChangeRoomSettingEvent(object sender,GeneralEventArgs e);
public void OnFailedChangeRoomSettingEvent(GeneralEventArgs e); public void OnFailedChangeRoomSettingEvent(object sender,GeneralEventArgs e);
} }
public interface IStartMatchEventHandler : IEventHandler public interface IStartMatchEventHandler : IEventHandler
@ -185,10 +185,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedStartMatch; public event SucceedEventHandler? SucceedStartMatch;
public event FailedEventHandler? FailedStartMatch; public event FailedEventHandler? FailedStartMatch;
public void OnBeforeStartMatchEvent(GeneralEventArgs e); public void OnBeforeStartMatchEvent(object sender,GeneralEventArgs e);
public void OnAfterStartMatchEvent(GeneralEventArgs e); public void OnAfterStartMatchEvent(object sender,GeneralEventArgs e);
public void OnSucceedStartMatchEvent(GeneralEventArgs e); public void OnSucceedStartMatchEvent(object sender,GeneralEventArgs e);
public void OnFailedStartMatchEvent(GeneralEventArgs e); public void OnFailedStartMatchEvent(object sender,GeneralEventArgs e);
} }
public interface IStartGameEventHandler : IEventHandler public interface IStartGameEventHandler : IEventHandler
@ -198,10 +198,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedStartGame; public event SucceedEventHandler? SucceedStartGame;
public event FailedEventHandler? FailedStartGame; public event FailedEventHandler? FailedStartGame;
public void OnBeforeStartGameEvent(GeneralEventArgs e); public void OnBeforeStartGameEvent(object sender,GeneralEventArgs e);
public void OnAfterStartGameEvent(GeneralEventArgs e); public void OnAfterStartGameEvent(object sender,GeneralEventArgs e);
public void OnSucceedStartGameEvent(GeneralEventArgs e); public void OnSucceedStartGameEvent(object sender,GeneralEventArgs e);
public void OnFailedStartGameEvent(GeneralEventArgs e); public void OnFailedStartGameEvent(object sender,GeneralEventArgs e);
} }
public interface IChangeProfileEventHandler : IEventHandler public interface IChangeProfileEventHandler : IEventHandler
@ -211,10 +211,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedChangeProfile; public event SucceedEventHandler? SucceedChangeProfile;
public event FailedEventHandler? FailedChangeProfile; public event FailedEventHandler? FailedChangeProfile;
public void OnBeforeChangeProfileEvent(GeneralEventArgs e); public void OnBeforeChangeProfileEvent(object sender,GeneralEventArgs e);
public void OnAfterChangeProfileEvent(GeneralEventArgs e); public void OnAfterChangeProfileEvent(object sender,GeneralEventArgs e);
public void OnSucceedChangeProfileEvent(GeneralEventArgs e); public void OnSucceedChangeProfileEvent(object sender,GeneralEventArgs e);
public void OnFailedChangeProfileEvent(GeneralEventArgs e); public void OnFailedChangeProfileEvent(object sender,GeneralEventArgs e);
} }
public interface IChangeAccountSettingEventHandler : IEventHandler public interface IChangeAccountSettingEventHandler : IEventHandler
@ -224,10 +224,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedChangeAccountSetting; public event SucceedEventHandler? SucceedChangeAccountSetting;
public event FailedEventHandler? FailedChangeAccountSetting; public event FailedEventHandler? FailedChangeAccountSetting;
public void OnBeforeChangeAccountSettingEvent(GeneralEventArgs e); public void OnBeforeChangeAccountSettingEvent(object sender,GeneralEventArgs e);
public void OnAfterChangeAccountSettingEvent(GeneralEventArgs e); public void OnAfterChangeAccountSettingEvent(object sender,GeneralEventArgs e);
public void OnSucceedChangeAccountSettingEvent(GeneralEventArgs e); public void OnSucceedChangeAccountSettingEvent(object sender,GeneralEventArgs e);
public void OnFailedChangeAccountSettingEvent(GeneralEventArgs e); public void OnFailedChangeAccountSettingEvent(object sender,GeneralEventArgs e);
} }
public interface IOpenInventoryEventHandler : IEventHandler public interface IOpenInventoryEventHandler : IEventHandler
@ -237,10 +237,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedOpenInventory; public event SucceedEventHandler? SucceedOpenInventory;
public event FailedEventHandler? FailedOpenInventory; public event FailedEventHandler? FailedOpenInventory;
public void OnBeforeOpenInventoryEvent(GeneralEventArgs e); public void OnBeforeOpenInventoryEvent(object sender,GeneralEventArgs e);
public void OnAfterOpenInventoryEvent(GeneralEventArgs e); public void OnAfterOpenInventoryEvent(object sender,GeneralEventArgs e);
public void OnSucceedOpenInventoryEvent(GeneralEventArgs e); public void OnSucceedOpenInventoryEvent(object sender,GeneralEventArgs e);
public void OnFailedOpenInventoryEvent(GeneralEventArgs e); public void OnFailedOpenInventoryEvent(object sender,GeneralEventArgs e);
} }
public interface ISignInEventHandler : IEventHandler public interface ISignInEventHandler : IEventHandler
@ -250,10 +250,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedSignIn; public event SucceedEventHandler? SucceedSignIn;
public event FailedEventHandler? FailedSignIn; public event FailedEventHandler? FailedSignIn;
public void OnBeforeSignInEvent(GeneralEventArgs e); public void OnBeforeSignInEvent(object sender,GeneralEventArgs e);
public void OnAfterSignInEvent(GeneralEventArgs e); public void OnAfterSignInEvent(object sender,GeneralEventArgs e);
public void OnSucceedSignInEvent(GeneralEventArgs e); public void OnSucceedSignInEvent(object sender,GeneralEventArgs e);
public void OnFailedSignInEvent(GeneralEventArgs e); public void OnFailedSignInEvent(object sender,GeneralEventArgs e);
} }
public interface IOpenStoreEventHandler : IEventHandler public interface IOpenStoreEventHandler : IEventHandler
@ -263,10 +263,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedOpenStore; public event SucceedEventHandler? SucceedOpenStore;
public event FailedEventHandler? FailedOpenStore; public event FailedEventHandler? FailedOpenStore;
public void OnBeforeOpenStoreEvent(GeneralEventArgs e); public void OnBeforeOpenStoreEvent(object sender,GeneralEventArgs e);
public void OnAfterOpenStoreEvent(GeneralEventArgs e); public void OnAfterOpenStoreEvent(object sender,GeneralEventArgs e);
public void OnSucceedOpenStoreEvent(GeneralEventArgs e); public void OnSucceedOpenStoreEvent(object sender,GeneralEventArgs e);
public void OnFailedOpenStoreEvent(GeneralEventArgs e); public void OnFailedOpenStoreEvent(object sender,GeneralEventArgs e);
} }
public interface IBuyItemEventHandler : IEventHandler public interface IBuyItemEventHandler : IEventHandler
@ -276,10 +276,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedBuyItem; public event SucceedEventHandler? SucceedBuyItem;
public event FailedEventHandler? FailedBuyItem; public event FailedEventHandler? FailedBuyItem;
public void OnBeforeBuyItemEvent(GeneralEventArgs e); public void OnBeforeBuyItemEvent(object sender,GeneralEventArgs e);
public void OnAfterBuyItemEvent(GeneralEventArgs e); public void OnAfterBuyItemEvent(object sender,GeneralEventArgs e);
public void OnSucceedBuyItemEvent(GeneralEventArgs e); public void OnSucceedBuyItemEvent(object sender,GeneralEventArgs e);
public void OnFailedBuyItemEvent(GeneralEventArgs e); public void OnFailedBuyItemEvent(object sender,GeneralEventArgs e);
} }
public interface IShowRankingEventHandler : IEventHandler public interface IShowRankingEventHandler : IEventHandler
@ -289,10 +289,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedShowRanking; public event SucceedEventHandler? SucceedShowRanking;
public event FailedEventHandler? FailedShowRanking; public event FailedEventHandler? FailedShowRanking;
public void OnBeforeShowRankingEvent(GeneralEventArgs e); public void OnBeforeShowRankingEvent(object sender,GeneralEventArgs e);
public void OnAfterShowRankingEvent(GeneralEventArgs e); public void OnAfterShowRankingEvent(object sender,GeneralEventArgs e);
public void OnSucceedShowRankingEvent(GeneralEventArgs e); public void OnSucceedShowRankingEvent(object sender,GeneralEventArgs e);
public void OnFailedShowRankingEvent(GeneralEventArgs e); public void OnFailedShowRankingEvent(object sender,GeneralEventArgs e);
} }
public interface IUseItemEventHandler : IEventHandler public interface IUseItemEventHandler : IEventHandler
@ -302,10 +302,10 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedUseItem; public event SucceedEventHandler? SucceedUseItem;
public event FailedEventHandler? FailedUseItem; public event FailedEventHandler? FailedUseItem;
public void OnBeforeUseItemEvent(GeneralEventArgs e); public void OnBeforeUseItemEvent(object sender,GeneralEventArgs e);
public void OnAfterUseItemEvent(GeneralEventArgs e); public void OnAfterUseItemEvent(object sender,GeneralEventArgs e);
public void OnSucceedUseItemEvent(GeneralEventArgs e); public void OnSucceedUseItemEvent(object sender,GeneralEventArgs e);
public void OnFailedUseItemEvent(GeneralEventArgs e); public void OnFailedUseItemEvent(object sender,GeneralEventArgs e);
} }
public interface IEndGameEventHandler : IEventHandler public interface IEndGameEventHandler : IEventHandler
@ -315,9 +315,9 @@ namespace Milimoe.FunGame.Core.Interface
public event SucceedEventHandler? SucceedEndGame; public event SucceedEventHandler? SucceedEndGame;
public event FailedEventHandler? FailedEndGame; public event FailedEventHandler? FailedEndGame;
public void OnBeforeEndGameEvent(GeneralEventArgs e); public void OnBeforeEndGameEvent(object sender,GeneralEventArgs e);
public void OnAfterEndGameEvent(GeneralEventArgs e); public void OnAfterEndGameEvent(object sender,GeneralEventArgs e);
public void OnSucceedEndGameEvent(GeneralEventArgs e); public void OnSucceedEndGameEvent(object sender,GeneralEventArgs e);
public void OnFailedEndGameEvent(GeneralEventArgs e); public void OnFailedEndGameEvent(object sender,GeneralEventArgs e);
} }
} }

View File

@ -1,12 +1,15 @@
using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Api.Utility;
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant; using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Library.Common.Event namespace Milimoe.FunGame.Core.Library.Common.Event
{ {
public class RoomEventArgs : GeneralEventArgs public class RoomEventArgs : GeneralEventArgs
{ {
public Room Room { get; set; } = General.HallInstance;
public string RoomID { get; set; } = ""; public string RoomID { get; set; } = "";
public long RoomMaster { get; set; } = 0; public long RoomMaster { get; set; } = 0;
public string RoomTypeString { get; set; } = GameMode.All;
public RoomType RoomType { get; set; } = RoomType.All; public RoomType RoomType { get; set; } = RoomType.All;
public RoomState RoomState { get; set; } = RoomState.Created; public RoomState RoomState { get; set; } = RoomState.Created;
public bool HasPassword => Password.Trim() != ""; public bool HasPassword => Password.Trim() != "";
@ -14,22 +17,35 @@ namespace Milimoe.FunGame.Core.Library.Common.Event
public RoomEventArgs(string RoomType, string Password) public RoomEventArgs(string RoomType, string Password)
{ {
RoomTypeString = RoomType;
this.RoomType = RoomType switch this.RoomType = RoomType switch
{ {
GameMode.GameMode_Mix => Constant.RoomType.Mix, GameMode.Mix => Constant.RoomType.Mix,
GameMode.GameMode_Team => Constant.RoomType.Team, GameMode.Team => Constant.RoomType.Team,
GameMode.GameMode_MixHasPass => Constant.RoomType.MixHasPass, GameMode.MixHasPass => Constant.RoomType.MixHasPass,
GameMode.GameMode_TeamHasPass => Constant.RoomType.TeamHasPass, GameMode.TeamHasPass => Constant.RoomType.TeamHasPass,
GameMode.AllHasPass => Constant.RoomType.AllHasPass,
_ => Constant.RoomType.All _ => Constant.RoomType.All
}; };
this.Password = Password; this.Password = Password;
Room = Factory.GetRoom(RoomType: this.RoomType, Password: this.Password);
} }
public RoomEventArgs(Room Room) public RoomEventArgs(Room Room)
{ {
this.Room = Room;
RoomID = Room.Roomid; RoomID = Room.Roomid;
RoomMaster = Room.RoomMaster != null ? Room.RoomMaster.Id : 0; RoomMaster = Room.RoomMaster != null ? Room.RoomMaster.Id : 0;
RoomType = Room.RoomType; RoomType = Room.RoomType;
RoomTypeString = Room.RoomType switch
{
RoomType.Mix => GameMode.Mix,
RoomType.Team => GameMode.Team,
RoomType.MixHasPass => GameMode.MixHasPass,
RoomType.TeamHasPass => GameMode.TeamHasPass,
RoomType.AllHasPass => GameMode.AllHasPass,
_ => GameMode.All
};
RoomState = Room.RoomState; RoomState = Room.RoomState;
Password = Room.Password; Password = Room.Password;
} }

View File

@ -1,5 +1,8 @@
using Milimoe.FunGame.Core.Interface; using Milimoe.FunGame.Core.Api.Transmittal;
using Milimoe.FunGame.Core.Interface;
using Milimoe.FunGame.Core.Library.Common.Event; using Milimoe.FunGame.Core.Library.Common.Event;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Model;
namespace Milimoe.FunGame.Core.Library.Common.Plugin namespace Milimoe.FunGame.Core.Library.Common.Plugin
{ {
@ -33,7 +36,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
/// <summary> /// <summary>
/// 加载插件 /// 加载插件
/// </summary> /// </summary>
public bool Load() public bool Load(params object[] objs)
{ {
if (IsLoaded) if (IsLoaded)
{ {
@ -44,6 +47,8 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
{ {
// 插件加载后,不允许再次加载此插件 // 插件加载后,不允许再次加载此插件
IsLoaded = true; IsLoaded = true;
// 初始化此插件传入委托或者Model
Init(objs);
// 触发绑定事件 // 触发绑定事件
BindEvent(); BindEvent();
// 如果加载后需要执行代码请重写AfterLoad方法 // 如果加载后需要执行代码请重写AfterLoad方法
@ -69,6 +74,43 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
return true; return true;
} }
/// <summary>
/// 传递委托以便让插件调用
/// </summary>
private void Init(params object[] objs)
{
if (objs.Length > 0) WritelnSystemInfo = (Action<string>)objs[0];
if (objs.Length > 1) NewDataRequest = (Func<DataRequestType, DataRequest>)objs[1];
if (objs.Length > 2) NewLongRunningDataRequest = (Func<DataRequestType, DataRequest>)objs[2];
if (objs.Length > 3) Session = (Session)objs[3];
if (objs.Length > 4) Config = (FunGameConfig)objs[4];
}
/// <summary>
/// 输出系统消息
/// </summary>
protected Action<string> WritelnSystemInfo = new(msg => Console.Write("\r" + msg + "\n\r> "));
/// <summary>
/// 基于本地已连接的Socket创建新的数据请求
/// </summary>
protected Func<DataRequestType, DataRequest> NewDataRequest = new(type => throw new ConnectFailedException());
/// <summary>
/// 基于本地已连接的Socket创建长时间运行的数据请求
/// </summary>
protected Func<DataRequestType, DataRequest> NewLongRunningDataRequest = new(type => throw new ConnectFailedException());
/// <summary>
/// Session对象
/// </summary>
protected Session Session = new();
/// <summary>
/// Config对象
/// </summary>
protected FunGameConfig Config = new();
/// <summary> /// <summary>
/// 绑定事件。在<see cref="BeforeLoad"/>后触发 /// 绑定事件。在<see cref="BeforeLoad"/>后触发
/// </summary> /// </summary>
@ -349,424 +391,424 @@ namespace Milimoe.FunGame.Core.Library.Common.Plugin
public event IEventHandler.SucceedEventHandler? SucceedEndGame; public event IEventHandler.SucceedEventHandler? SucceedEndGame;
public event IEventHandler.FailedEventHandler? FailedEndGame; public event IEventHandler.FailedEventHandler? FailedEndGame;
public void OnBeforeConnectEvent(ConnectEventArgs e) public void OnBeforeConnectEvent(object sender, ConnectEventArgs e)
{ {
BeforeConnect?.Invoke(this, e); BeforeConnect?.Invoke(sender, e);
} }
public void OnAfterConnectEvent(ConnectEventArgs e) public void OnAfterConnectEvent(object sender, ConnectEventArgs e)
{ {
AfterConnect?.Invoke(this, e); AfterConnect?.Invoke(sender, e);
} }
public void OnSucceedConnectEvent(ConnectEventArgs e) public void OnSucceedConnectEvent(object sender, ConnectEventArgs e)
{ {
SucceedConnect?.Invoke(this, e); SucceedConnect?.Invoke(sender, e);
} }
public void OnFailedConnectEvent(ConnectEventArgs e) public void OnFailedConnectEvent(object sender, ConnectEventArgs e)
{ {
FailedConnect?.Invoke(this, e); FailedConnect?.Invoke(sender, e);
} }
public void OnBeforeDisconnectEvent(GeneralEventArgs e) public void OnBeforeDisconnectEvent(object sender, GeneralEventArgs e)
{ {
BeforeDisconnect?.Invoke(this, e); BeforeDisconnect?.Invoke(sender, e);
} }
public void OnAfterDisconnectEvent(GeneralEventArgs e) public void OnAfterDisconnectEvent(object sender, GeneralEventArgs e)
{ {
AfterDisconnect?.Invoke(this, e); AfterDisconnect?.Invoke(sender, e);
} }
public void OnSucceedDisconnectEvent(GeneralEventArgs e) public void OnSucceedDisconnectEvent(object sender, GeneralEventArgs e)
{ {
SucceedDisconnect?.Invoke(this, e); SucceedDisconnect?.Invoke(sender, e);
} }
public void OnFailedDisconnectEvent(GeneralEventArgs e) public void OnFailedDisconnectEvent(object sender, GeneralEventArgs e)
{ {
FailedDisconnect?.Invoke(this, e); FailedDisconnect?.Invoke(sender, e);
} }
public void OnBeforeLoginEvent(LoginEventArgs e) public void OnBeforeLoginEvent(object sender, LoginEventArgs e)
{ {
BeforeLogin?.Invoke(this, e); BeforeLogin?.Invoke(sender, e);
} }
public void OnAfterLoginEvent(LoginEventArgs e) public void OnAfterLoginEvent(object sender, LoginEventArgs e)
{ {
AfterLogin?.Invoke(this, e); AfterLogin?.Invoke(sender, e);
} }
public void OnSucceedLoginEvent(LoginEventArgs e) public void OnSucceedLoginEvent(object sender, LoginEventArgs e)
{ {
SucceedLogin?.Invoke(this, e); SucceedLogin?.Invoke(sender, e);
} }
public void OnFailedLoginEvent(LoginEventArgs e) public void OnFailedLoginEvent(object sender, LoginEventArgs e)
{ {
FailedLogin?.Invoke(this, e); FailedLogin?.Invoke(sender, e);
} }
public void OnBeforeLogoutEvent(GeneralEventArgs e) public void OnBeforeLogoutEvent(object sender, GeneralEventArgs e)
{ {
BeforeLogout?.Invoke(this, e); BeforeLogout?.Invoke(sender, e);
} }
public void OnAfterLogoutEvent(GeneralEventArgs e) public void OnAfterLogoutEvent(object sender, GeneralEventArgs e)
{ {
AfterLogout?.Invoke(this, e); AfterLogout?.Invoke(sender, e);
} }
public void OnSucceedLogoutEvent(GeneralEventArgs e) public void OnSucceedLogoutEvent(object sender, GeneralEventArgs e)
{ {
SucceedLogout?.Invoke(this, e); SucceedLogout?.Invoke(sender, e);
} }
public void OnFailedLogoutEvent(GeneralEventArgs e) public void OnFailedLogoutEvent(object sender, GeneralEventArgs e)
{ {
FailedLogout?.Invoke(this, e); FailedLogout?.Invoke(sender, e);
} }
public void OnBeforeRegEvent(RegisterEventArgs e) public void OnBeforeRegEvent(object sender, RegisterEventArgs e)
{ {
BeforeReg?.Invoke(this, e); BeforeReg?.Invoke(sender, e);
} }
public void OnAfterRegEvent(RegisterEventArgs e) public void OnAfterRegEvent(object sender, RegisterEventArgs e)
{ {
AfterReg?.Invoke(this, e); AfterReg?.Invoke(sender, e);
} }
public void OnSucceedRegEvent(RegisterEventArgs e) public void OnSucceedRegEvent(object sender, RegisterEventArgs e)
{ {
SucceedReg?.Invoke(this, e); SucceedReg?.Invoke(sender, e);
} }
public void OnFailedRegEvent(RegisterEventArgs e) public void OnFailedRegEvent(object sender, RegisterEventArgs e)
{ {
FailedReg?.Invoke(this, e); FailedReg?.Invoke(sender, e);
} }
public void OnBeforeIntoRoomEvent(RoomEventArgs e) public void OnBeforeIntoRoomEvent(object sender, RoomEventArgs e)
{ {
BeforeIntoRoom?.Invoke(this, e); BeforeIntoRoom?.Invoke(sender, e);
} }
public void OnAfterIntoRoomEvent(RoomEventArgs e) public void OnAfterIntoRoomEvent(object sender, RoomEventArgs e)
{ {
AfterIntoRoom?.Invoke(this, e); AfterIntoRoom?.Invoke(sender, e);
} }
public void OnSucceedIntoRoomEvent(RoomEventArgs e) public void OnSucceedIntoRoomEvent(object sender, RoomEventArgs e)
{ {
SucceedIntoRoom?.Invoke(this, e); SucceedIntoRoom?.Invoke(sender, e);
} }
public void OnFailedIntoRoomEvent(RoomEventArgs e) public void OnFailedIntoRoomEvent(object sender, RoomEventArgs e)
{ {
FailedIntoRoom?.Invoke(this, e); FailedIntoRoom?.Invoke(sender, e);
} }
public void OnBeforeSendTalkEvent(SendTalkEventArgs e) public void OnBeforeSendTalkEvent(object sender, SendTalkEventArgs e)
{ {
BeforeSendTalk?.Invoke(this, e); BeforeSendTalk?.Invoke(sender, e);
} }
public void OnAfterSendTalkEvent(SendTalkEventArgs e) public void OnAfterSendTalkEvent(object sender, SendTalkEventArgs e)
{ {
AfterSendTalk?.Invoke(this, e); AfterSendTalk?.Invoke(sender, e);
} }
public void OnSucceedSendTalkEvent(SendTalkEventArgs e) public void OnSucceedSendTalkEvent(object sender, SendTalkEventArgs e)
{ {
SucceedSendTalk?.Invoke(this, e); SucceedSendTalk?.Invoke(sender, e);
} }
public void OnFailedSendTalkEvent(SendTalkEventArgs e) public void OnFailedSendTalkEvent(object sender, SendTalkEventArgs e)
{ {
FailedSendTalk?.Invoke(this, e); FailedSendTalk?.Invoke(sender, e);
} }
public void OnBeforeCreateRoomEvent(RoomEventArgs e) public void OnBeforeCreateRoomEvent(object sender, RoomEventArgs e)
{ {
BeforeCreateRoom?.Invoke(this, e); BeforeCreateRoom?.Invoke(sender, e);
} }
public void OnAfterCreateRoomEvent(RoomEventArgs e) public void OnAfterCreateRoomEvent(object sender, RoomEventArgs e)
{ {
AfterCreateRoom?.Invoke(this, e); AfterCreateRoom?.Invoke(sender, e);
} }
public void OnSucceedCreateRoomEvent(RoomEventArgs e) public void OnSucceedCreateRoomEvent(object sender, RoomEventArgs e)
{ {
SucceedCreateRoom?.Invoke(this, e); SucceedCreateRoom?.Invoke(sender, e);
} }
public void OnFailedCreateRoomEvent(RoomEventArgs e) public void OnFailedCreateRoomEvent(object sender, RoomEventArgs e)
{ {
FailedCreateRoom?.Invoke(this, e); FailedCreateRoom?.Invoke(sender, e);
} }
public void OnBeforeQuitRoomEvent(RoomEventArgs e) public void OnBeforeQuitRoomEvent(object sender, RoomEventArgs e)
{ {
BeforeQuitRoom?.Invoke(this, e); BeforeQuitRoom?.Invoke(sender, e);
} }
public void OnAfterQuitRoomEvent(RoomEventArgs e) public void OnAfterQuitRoomEvent(object sender, RoomEventArgs e)
{ {
AfterQuitRoom?.Invoke(this, e); AfterQuitRoom?.Invoke(sender, e);
} }
public void OnSucceedQuitRoomEvent(RoomEventArgs e) public void OnSucceedQuitRoomEvent(object sender, RoomEventArgs e)
{ {
SucceedQuitRoom?.Invoke(this, e); SucceedQuitRoom?.Invoke(sender, e);
} }
public void OnFailedQuitRoomEvent(RoomEventArgs e) public void OnFailedQuitRoomEvent(object sender, RoomEventArgs e)
{ {
FailedQuitRoom?.Invoke(this, e); FailedQuitRoom?.Invoke(sender, e);
} }
public void OnBeforeChangeRoomSettingEvent(GeneralEventArgs e) public void OnBeforeChangeRoomSettingEvent(object sender, GeneralEventArgs e)
{ {
BeforeChangeRoomSetting?.Invoke(this, e); BeforeChangeRoomSetting?.Invoke(sender, e);
} }
public void OnAfterChangeRoomSettingEvent(GeneralEventArgs e) public void OnAfterChangeRoomSettingEvent(object sender, GeneralEventArgs e)
{ {
AfterChangeRoomSetting?.Invoke(this, e); AfterChangeRoomSetting?.Invoke(sender, e);
} }
public void OnSucceedChangeRoomSettingEvent(GeneralEventArgs e) public void OnSucceedChangeRoomSettingEvent(object sender, GeneralEventArgs e)
{ {
SucceedChangeRoomSetting?.Invoke(this, e); SucceedChangeRoomSetting?.Invoke(sender, e);
} }
public void OnFailedChangeRoomSettingEvent(GeneralEventArgs e) public void OnFailedChangeRoomSettingEvent(object sender, GeneralEventArgs e)
{ {
FailedChangeRoomSetting?.Invoke(this, e); FailedChangeRoomSetting?.Invoke(sender, e);
} }
public void OnBeforeStartMatchEvent(GeneralEventArgs e) public void OnBeforeStartMatchEvent(object sender, GeneralEventArgs e)
{ {
BeforeStartMatch?.Invoke(this, e); BeforeStartMatch?.Invoke(sender, e);
} }
public void OnAfterStartMatchEvent(GeneralEventArgs e) public void OnAfterStartMatchEvent(object sender, GeneralEventArgs e)
{ {
AfterStartMatch?.Invoke(this, e); AfterStartMatch?.Invoke(sender, e);
} }
public void OnSucceedStartMatchEvent(GeneralEventArgs e) public void OnSucceedStartMatchEvent(object sender, GeneralEventArgs e)
{ {
SucceedStartMatch?.Invoke(this, e); SucceedStartMatch?.Invoke(sender, e);
} }
public void OnFailedStartMatchEvent(GeneralEventArgs e) public void OnFailedStartMatchEvent(object sender, GeneralEventArgs e)
{ {
FailedStartMatch?.Invoke(this, e); FailedStartMatch?.Invoke(sender, e);
} }
public void OnBeforeStartGameEvent(GeneralEventArgs e) public void OnBeforeStartGameEvent(object sender, GeneralEventArgs e)
{ {
BeforeStartGame?.Invoke(this, e); BeforeStartGame?.Invoke(sender, e);
} }
public void OnAfterStartGameEvent(GeneralEventArgs e) public void OnAfterStartGameEvent(object sender, GeneralEventArgs e)
{ {
AfterStartGame?.Invoke(this, e); AfterStartGame?.Invoke(sender, e);
} }
public void OnSucceedStartGameEvent(GeneralEventArgs e) public void OnSucceedStartGameEvent(object sender, GeneralEventArgs e)
{ {
SucceedStartGame?.Invoke(this, e); SucceedStartGame?.Invoke(sender, e);
} }
public void OnFailedStartGameEvent(GeneralEventArgs e) public void OnFailedStartGameEvent(object sender, GeneralEventArgs e)
{ {
FailedStartGame?.Invoke(this, e); FailedStartGame?.Invoke(sender, e);
} }
public void OnBeforeChangeProfileEvent(GeneralEventArgs e) public void OnBeforeChangeProfileEvent(object sender, GeneralEventArgs e)
{ {
BeforeChangeProfile?.Invoke(this, e); BeforeChangeProfile?.Invoke(sender, e);
} }
public void OnAfterChangeProfileEvent(GeneralEventArgs e) public void OnAfterChangeProfileEvent(object sender, GeneralEventArgs e)
{ {
AfterChangeProfile?.Invoke(this, e); AfterChangeProfile?.Invoke(sender, e);
} }
public void OnSucceedChangeProfileEvent(GeneralEventArgs e) public void OnSucceedChangeProfileEvent(object sender, GeneralEventArgs e)
{ {
SucceedChangeProfile?.Invoke(this, e); SucceedChangeProfile?.Invoke(sender, e);
} }
public void OnFailedChangeProfileEvent(GeneralEventArgs e) public void OnFailedChangeProfileEvent(object sender, GeneralEventArgs e)
{ {
FailedChangeProfile?.Invoke(this, e); FailedChangeProfile?.Invoke(sender, e);
} }
public void OnBeforeChangeAccountSettingEvent(GeneralEventArgs e) public void OnBeforeChangeAccountSettingEvent(object sender, GeneralEventArgs e)
{ {
BeforeChangeAccountSetting?.Invoke(this, e); BeforeChangeAccountSetting?.Invoke(sender, e);
} }
public void OnAfterChangeAccountSettingEvent(GeneralEventArgs e) public void OnAfterChangeAccountSettingEvent(object sender, GeneralEventArgs e)
{ {
AfterChangeAccountSetting?.Invoke(this, e); AfterChangeAccountSetting?.Invoke(sender, e);
} }
public void OnSucceedChangeAccountSettingEvent(GeneralEventArgs e) public void OnSucceedChangeAccountSettingEvent(object sender, GeneralEventArgs e)
{ {
SucceedChangeAccountSetting?.Invoke(this, e); SucceedChangeAccountSetting?.Invoke(sender, e);
} }
public void OnFailedChangeAccountSettingEvent(GeneralEventArgs e) public void OnFailedChangeAccountSettingEvent(object sender, GeneralEventArgs e)
{ {
FailedChangeAccountSetting?.Invoke(this, e); FailedChangeAccountSetting?.Invoke(sender, e);
} }
public void OnBeforeOpenInventoryEvent(GeneralEventArgs e) public void OnBeforeOpenInventoryEvent(object sender, GeneralEventArgs e)
{ {
BeforeOpenInventory?.Invoke(this, e); BeforeOpenInventory?.Invoke(sender, e);
} }
public void OnAfterOpenInventoryEvent(GeneralEventArgs e) public void OnAfterOpenInventoryEvent(object sender, GeneralEventArgs e)
{ {
AfterOpenInventory?.Invoke(this, e); AfterOpenInventory?.Invoke(sender, e);
} }
public void OnSucceedOpenInventoryEvent(GeneralEventArgs e) public void OnSucceedOpenInventoryEvent(object sender, GeneralEventArgs e)
{ {
SucceedOpenInventory?.Invoke(this, e); SucceedOpenInventory?.Invoke(sender, e);
} }
public void OnFailedOpenInventoryEvent(GeneralEventArgs e) public void OnFailedOpenInventoryEvent(object sender, GeneralEventArgs e)
{ {
FailedOpenInventory?.Invoke(this, e); FailedOpenInventory?.Invoke(sender, e);
} }
public void OnBeforeSignInEvent(GeneralEventArgs e) public void OnBeforeSignInEvent(object sender, GeneralEventArgs e)
{ {
BeforeSignIn?.Invoke(this, e); BeforeSignIn?.Invoke(sender, e);
} }
public void OnAfterSignInEvent(GeneralEventArgs e) public void OnAfterSignInEvent(object sender, GeneralEventArgs e)
{ {
AfterSignIn?.Invoke(this, e); AfterSignIn?.Invoke(sender, e);
} }
public void OnSucceedSignInEvent(GeneralEventArgs e) public void OnSucceedSignInEvent(object sender, GeneralEventArgs e)
{ {
SucceedSignIn?.Invoke(this, e); SucceedSignIn?.Invoke(sender, e);
} }
public void OnFailedSignInEvent(GeneralEventArgs e) public void OnFailedSignInEvent(object sender, GeneralEventArgs e)
{ {
FailedSignIn?.Invoke(this, e); FailedSignIn?.Invoke(sender, e);
} }
public void OnBeforeOpenStoreEvent(GeneralEventArgs e) public void OnBeforeOpenStoreEvent(object sender, GeneralEventArgs e)
{ {
BeforeOpenStore?.Invoke(this, e); BeforeOpenStore?.Invoke(sender, e);
} }
public void OnAfterOpenStoreEvent(GeneralEventArgs e) public void OnAfterOpenStoreEvent(object sender, GeneralEventArgs e)
{ {
AfterOpenStore?.Invoke(this, e); AfterOpenStore?.Invoke(sender, e);
} }
public void OnSucceedOpenStoreEvent(GeneralEventArgs e) public void OnSucceedOpenStoreEvent(object sender, GeneralEventArgs e)
{ {
SucceedOpenStore?.Invoke(this, e); SucceedOpenStore?.Invoke(sender, e);
} }
public void OnFailedOpenStoreEvent(GeneralEventArgs e) public void OnFailedOpenStoreEvent(object sender, GeneralEventArgs e)
{ {
FailedOpenStore?.Invoke(this, e); FailedOpenStore?.Invoke(sender, e);
} }
public void OnBeforeBuyItemEvent(GeneralEventArgs e) public void OnBeforeBuyItemEvent(object sender, GeneralEventArgs e)
{ {
BeforeBuyItem?.Invoke(this, e); BeforeBuyItem?.Invoke(sender, e);
} }
public void OnAfterBuyItemEvent(GeneralEventArgs e) public void OnAfterBuyItemEvent(object sender, GeneralEventArgs e)
{ {
AfterBuyItem?.Invoke(this, e); AfterBuyItem?.Invoke(sender, e);
} }
public void OnSucceedBuyItemEvent(GeneralEventArgs e) public void OnSucceedBuyItemEvent(object sender, GeneralEventArgs e)
{ {
SucceedBuyItem?.Invoke(this, e); SucceedBuyItem?.Invoke(sender, e);
} }
public void OnFailedBuyItemEvent(GeneralEventArgs e) public void OnFailedBuyItemEvent(object sender, GeneralEventArgs e)
{ {
FailedBuyItem?.Invoke(this, e); FailedBuyItem?.Invoke(sender, e);
} }
public void OnBeforeShowRankingEvent(GeneralEventArgs e) public void OnBeforeShowRankingEvent(object sender, GeneralEventArgs e)
{ {
BeforeShowRanking?.Invoke(this, e); BeforeShowRanking?.Invoke(sender, e);
} }
public void OnAfterShowRankingEvent(GeneralEventArgs e) public void OnAfterShowRankingEvent(object sender, GeneralEventArgs e)
{ {
AfterShowRanking?.Invoke(this, e); AfterShowRanking?.Invoke(sender, e);
} }
public void OnSucceedShowRankingEvent(GeneralEventArgs e) public void OnSucceedShowRankingEvent(object sender, GeneralEventArgs e)
{ {
SucceedShowRanking?.Invoke(this, e); SucceedShowRanking?.Invoke(sender, e);
} }
public void OnFailedShowRankingEvent(GeneralEventArgs e) public void OnFailedShowRankingEvent(object sender, GeneralEventArgs e)
{ {
FailedShowRanking?.Invoke(this, e); FailedShowRanking?.Invoke(sender, e);
} }
public void OnBeforeUseItemEvent(GeneralEventArgs e) public void OnBeforeUseItemEvent(object sender, GeneralEventArgs e)
{ {
BeforeUseItem?.Invoke(this, e); BeforeUseItem?.Invoke(sender, e);
} }
public void OnAfterUseItemEvent(GeneralEventArgs e) public void OnAfterUseItemEvent(object sender, GeneralEventArgs e)
{ {
AfterUseItem?.Invoke(this, e); AfterUseItem?.Invoke(sender, e);
} }
public void OnSucceedUseItemEvent(GeneralEventArgs e) public void OnSucceedUseItemEvent(object sender, GeneralEventArgs e)
{ {
SucceedUseItem?.Invoke(this, e); SucceedUseItem?.Invoke(sender, e);
} }
public void OnFailedUseItemEvent(GeneralEventArgs e) public void OnFailedUseItemEvent(object sender, GeneralEventArgs e)
{ {
FailedUseItem?.Invoke(this, e); FailedUseItem?.Invoke(sender, e);
} }
public void OnBeforeEndGameEvent(GeneralEventArgs e) public void OnBeforeEndGameEvent(object sender, GeneralEventArgs e)
{ {
BeforeEndGame?.Invoke(this, e); BeforeEndGame?.Invoke(sender, e);
} }
public void OnAfterEndGameEvent(GeneralEventArgs e) public void OnAfterEndGameEvent(object sender, GeneralEventArgs e)
{ {
AfterEndGame?.Invoke(this, e); AfterEndGame?.Invoke(sender, e);
} }
public void OnSucceedEndGameEvent(GeneralEventArgs e) public void OnSucceedEndGameEvent(object sender, GeneralEventArgs e)
{ {
SucceedEndGame?.Invoke(this, e); SucceedEndGame?.Invoke(sender, e);
} }
public void OnFailedEndGameEvent(GeneralEventArgs e) public void OnFailedEndGameEvent(object sender, GeneralEventArgs e)
{ {
FailedEndGame?.Invoke(this, e); FailedEndGame?.Invoke(sender, e);
} }
} }
} }

View File

@ -102,11 +102,11 @@ namespace Milimoe.FunGame.Core.Library.Constant
public class GameMode public class GameMode
{ {
public const string GameMode_All = "所有模式"; public const string All = "所有模式";
public const string GameMode_AllHasPass = "带密码的所有模式"; public const string AllHasPass = "带密码的所有模式";
public const string GameMode_Mix = "混战模式"; public const string Mix = "混战模式";
public const string GameMode_MixHasPass = "带密码的混战模式"; public const string MixHasPass = "带密码的混战模式";
public const string GameMode_Team = "团队模式"; public const string Team = "团队模式";
public const string GameMode_TeamHasPass = "带密码的团队模式"; public const string TeamHasPass = "带密码的团队模式";
} }
} }

View File

@ -32,6 +32,7 @@ namespace Milimoe.FunGame.Core.Library.Constant
All, All,
Mix, Mix,
Team, Team,
AllHasPass,
MixHasPass, MixHasPass,
TeamHasPass TeamHasPass
} }

View File

@ -37,7 +37,7 @@ namespace Milimoe.FunGame.Core.Model
/// <summary> /// <summary>
/// 当前游戏模式 /// 当前游戏模式
/// </summary> /// </summary>
public string FunGame_GameMode { get; set; } = GameMode.GameMode_Mix; public string FunGame_GameMode { get; set; } = GameMode.Mix;
/// <summary> /// <summary>
/// 服务器名称 /// 服务器名称

View File

@ -10,7 +10,7 @@ namespace Milimoe.FunGame.Core.Service
/// </summary> /// </summary>
/// <param name="plugins"></param> /// <param name="plugins"></param>
/// <returns></returns> /// <returns></returns>
internal static Dictionary<string, BasePlugin> LoadPlugins(Dictionary<string, BasePlugin> plugins) internal static Dictionary<string, BasePlugin> LoadPlugins(Dictionary<string, BasePlugin> plugins, params object[] objs)
{ {
string[] dlls = Directory.GetFiles("plugins", "*.dll"); string[] dlls = Directory.GetFiles("plugins", "*.dll");
@ -23,7 +23,7 @@ namespace Milimoe.FunGame.Core.Service
foreach (Type type in assembly.GetTypes().AsEnumerable().Where(type => type.IsSubclassOf(typeof(BasePlugin)))) foreach (Type type in assembly.GetTypes().AsEnumerable().Where(type => type.IsSubclassOf(typeof(BasePlugin))))
{ {
BasePlugin? instance = (BasePlugin?)Activator.CreateInstance(type); BasePlugin? instance = (BasePlugin?)Activator.CreateInstance(type);
if (instance != null && instance.Load()) if (instance != null && instance.Load(objs))
{ {
plugins.TryAdd(instance.Name, instance); plugins.TryAdd(instance.Name, instance);
} }