diff --git a/FunGame.Core/Interface/Entity/Base/BaseEntity.cs b/FunGame.Core/Entity/BaseEntity.cs similarity index 81% rename from FunGame.Core/Interface/Entity/Base/BaseEntity.cs rename to FunGame.Core/Entity/BaseEntity.cs index c7b78ff..0176c3e 100644 --- a/FunGame.Core/Interface/Entity/Base/BaseEntity.cs +++ b/FunGame.Core/Entity/BaseEntity.cs @@ -4,12 +4,13 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Milimoe.FunGame.Core.Interface.Entity; -namespace Milimoe.FunGame.Core.Interface.Entity +namespace Milimoe.FunGame.Core.Entity { public abstract class BaseEntity : IBaseEntity { - public int Id { get; set; } = 0; + public long Id { get; set; } = 0; public Guid Guid { get; set; } = Guid.Empty; public string Name { get; set; } = ""; diff --git a/FunGame.Core/Entity/Empty.cs b/FunGame.Core/Entity/Empty.cs index 7d61d37..422128b 100644 --- a/FunGame.Core/Entity/Empty.cs +++ b/FunGame.Core/Entity/Empty.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Milimoe.FunGame.Core.Entity +namespace Milimoe.FunGame.Core.Entity { public class Empty { diff --git a/FunGame.Core/Interface/Entity/Base/IBaseEntity.cs b/FunGame.Core/Interface/Entity/Base/IBaseEntity.cs index d9d4f8d..1850ba1 100644 --- a/FunGame.Core/Interface/Entity/Base/IBaseEntity.cs +++ b/FunGame.Core/Interface/Entity/Base/IBaseEntity.cs @@ -1,15 +1,8 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Milimoe.FunGame.Core.Interface.Entity +namespace Milimoe.FunGame.Core.Interface.Entity { public interface IBaseEntity : IEquatable, IEnumerable { - public int Id { get; } + public long Id { get; } public Guid Guid { get; } public string Name { get; } } diff --git a/FunGame.Core/Interface/Event/EventHandlers.cs b/FunGame.Core/Interface/Event/EventHandlers.cs new file mode 100644 index 0000000..b38ab5a --- /dev/null +++ b/FunGame.Core/Interface/Event/EventHandlers.cs @@ -0,0 +1,289 @@ +using Milimoe.FunGame.Core.Library.Common.Event; +using Milimoe.FunGame.Core.Library.Constant; + +namespace Milimoe.FunGame.Core.Interface +{ + /// + /// 窗体继承这些接口便能实现事件,或为插件预留。 + /// + 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 interface IConnectEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeConnectEventHandler; + public event AfterEventHandler? AfterConnectEventHandler; + public event SucceedEventHandler? SucceedConnectEventHandler; + public event FailedEventHandler? FailedConnectEventHandler; + + public EventResult OnBeforeConnectEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterConnectEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedConnectEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedConnectEvent(object sender, GeneralEventArgs e); + } + + public interface IDisconnectEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeDisconnectEventHandler; + public event AfterEventHandler? AfterDisconnectEventHandler; + public event SucceedEventHandler? SucceedDisconnectEventHandler; + public event FailedEventHandler? FailedDisconnectEventHandler; + + public EventResult OnBeforeDisconnectEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterDisconnectEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedDisconnectEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedDisconnectEvent(object sender, GeneralEventArgs e); + } + + public interface ILoginEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeLoginEventHandler; + public event AfterEventHandler? AfterLoginEventHandler; + public event SucceedEventHandler? SucceedLoginEventHandler; + public event FailedEventHandler? FailedLoginEventHandler; + + public EventResult OnBeforeLoginEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterLoginEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedLoginEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedLoginEvent(object sender, GeneralEventArgs e); + } + + public interface ILogoutEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeLogoutEventHandler; + public event AfterEventHandler? AfterLogoutEventHandler; + public event SucceedEventHandler? SucceedLogoutEventHandler; + public event FailedEventHandler? FailedLogoutEventHandler; + + public EventResult OnBeforeLogoutEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterLogoutEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedLogoutEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedLogoutEvent(object sender, GeneralEventArgs e); + } + + public interface IRegEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeRegEventHandler; + public event AfterEventHandler? AfterRegEventHandler; + public event SucceedEventHandler? SucceedRegEventHandler; + public event FailedEventHandler? FailedRegEventHandler; + + public EventResult OnBeforeRegEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterRegEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedRegEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedRegEvent(object sender, GeneralEventArgs e); + } + + public interface IIntoRoomEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeIntoRoomEventHandler; + public event AfterEventHandler? AfterIntoRoomEventHandler; + public event SucceedEventHandler? SucceedIntoRoomEventHandler; + public event FailedEventHandler? FailedIntoRoomEventHandler; + + public EventResult OnBeforeIntoRoomEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterIntoRoomEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedIntoRoomEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedIntoRoomEvent(object sender, GeneralEventArgs e); + } + + public interface ISendTalkEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeSendTalkEventHandler; + public event AfterEventHandler? AfterSendTalkEventHandler; + public event SucceedEventHandler? SucceedSendTalkEventHandler; + public event FailedEventHandler? FailedSendTalkEventHandler; + + public EventResult OnBeforeSendTalkEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterSendTalkEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedSendTalkEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedSendTalkEvent(object sender, GeneralEventArgs e); + } + + public interface ICreateRoomEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeCreateRoomEventHandler; + public event AfterEventHandler? AfterCreateRoomEventHandler; + public event SucceedEventHandler? SucceedCreateRoomEventHandler; + public event FailedEventHandler? FailedCreateRoomEventHandler; + + public EventResult OnBeforeCreateRoomEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterCreateRoomEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedCreateRoomEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedCreateRoomEvent(object sender, GeneralEventArgs e); + } + + public interface IQuitRoomEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeQuitRoomEventHandler; + public event AfterEventHandler? AfterQuitRoomEventHandler; + public event SucceedEventHandler? SucceedQuitRoomEventHandler; + public event FailedEventHandler? FailedQuitRoomEventHandler; + + public EventResult OnBeforeQuitRoomEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterQuitRoomEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedQuitRoomEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedQuitRoomEvent(object sender, GeneralEventArgs e); + } + + public interface IChangeRoomSettingEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeChangeRoomSettingEventHandler; + public event AfterEventHandler? AfterChangeRoomSettingEventHandler; + public event SucceedEventHandler? SucceedChangeRoomSettingEventHandler; + public event FailedEventHandler? FailedChangeRoomSettingEventHandler; + + public EventResult OnBeforeChangeRoomSettingEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterChangeRoomSettingEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedChangeRoomSettingEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedChangeRoomSettingEvent(object sender, GeneralEventArgs e); + } + + public interface IStartMatchEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeStartMatchEventHandler; + public event AfterEventHandler? AfterStartMatchEventHandler; + public event SucceedEventHandler? SucceedStartMatchEventHandler; + public event FailedEventHandler? FailedStartMatchEventHandler; + + public EventResult OnBeforeStartMatchEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterStartMatchEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedStartMatchEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedStartMatchEvent(object sender, GeneralEventArgs e); + } + + public interface IStartGameEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeStartGameEventHandler; + public event AfterEventHandler? AfterStartGameEventHandler; + public event SucceedEventHandler? SucceedStartGameEventHandler; + public event FailedEventHandler? FailedStartGameEventHandler; + + public EventResult OnBeforeStartGameEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterStartGameEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedStartGameEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedStartGameEvent(object sender, GeneralEventArgs e); + } + + public interface IChangeProfileEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeChangeProfileEventHandler; + public event AfterEventHandler? AfterChangeProfileEventHandler; + public event SucceedEventHandler? SucceedChangeProfileEventHandler; + public event FailedEventHandler? FailedChangeProfileEventHandler; + + public EventResult OnBeforeChangeProfileEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterChangeProfileEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedChangeProfileEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedChangeProfileEvent(object sender, GeneralEventArgs e); + } + + public interface IChangeAccountSettingEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeChangeAccountSettingEventHandler; + public event AfterEventHandler? AfterChangeAccountSettingEventHandler; + public event SucceedEventHandler? SucceedChangeAccountSettingEventHandler; + public event FailedEventHandler? FailedChangeAccountSettingEventHandler; + + public EventResult OnBeforeChangeAccountSettingEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterChangeAccountSettingEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedChangeAccountSettingEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedChangeAccountSettingEvent(object sender, GeneralEventArgs e); + } + + public interface IOpenInventoryEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeOpenInventoryEventHandler; + public event AfterEventHandler? AfterOpenInventoryEventHandler; + public event SucceedEventHandler? SucceedOpenInventoryEventHandler; + public event FailedEventHandler? FailedOpenInventoryEventHandler; + + public EventResult OnBeforeOpenInventoryEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterOpenInventoryEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedOpenInventoryEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedOpenInventoryEvent(object sender, GeneralEventArgs e); + } + + public interface ISignInEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeSignInEventHandler; + public event AfterEventHandler? AfterSignInEventHandler; + public event SucceedEventHandler? SucceedSignInEventHandler; + public event FailedEventHandler? FailedSignInEventHandler; + + public EventResult OnBeforeSignInEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterSignInEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedSignInEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedSignInEvent(object sender, GeneralEventArgs e); + } + + public interface IOpenStoreEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeOpenStoreEventHandler; + public event AfterEventHandler? AfterOpenStoreEventHandler; + public event SucceedEventHandler? SucceedOpenStoreEventHandler; + public event FailedEventHandler? FailedOpenStoreEventHandler; + + public EventResult OnBeforeOpenStoreEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterOpenStoreEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedOpenStoreEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedOpenStoreEvent(object sender, GeneralEventArgs e); + } + + public interface IBuyItemEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeBuyItemEventHandler; + public event AfterEventHandler? AfterBuyItemEventHandler; + public event SucceedEventHandler? SucceedBuyItemEventHandler; + public event FailedEventHandler? FailedBuyItemEventHandler; + + public EventResult OnBeforeBuyItemEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterBuyItemEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedBuyItemEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedBuyItemEvent(object sender, GeneralEventArgs e); + } + + public interface IShowRankingEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeShowRankingEventHandler; + public event AfterEventHandler? AfterShowRankingEventHandler; + public event SucceedEventHandler? SucceedShowRankingEventHandler; + public event FailedEventHandler? FailedShowRankingEventHandler; + + public EventResult OnBeforeShowRankingEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterShowRankingEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedShowRankingEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedShowRankingEvent(object sender, GeneralEventArgs e); + } + + public interface IUseItemEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeUseItemEventHandler; + public event AfterEventHandler? AfterUseItemEventHandler; + public event SucceedEventHandler? SucceedUseItemEventHandler; + public event FailedEventHandler? FailedUseItemEventHandler; + + public EventResult OnBeforeUseItemEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterUseItemEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedUseItemEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedUseItemEvent(object sender, GeneralEventArgs e); + } + + public interface IEndGameEventHandler : IEventHandler + { + public event BeforeEventHandler? BeforeEndGameEventHandler; + public event AfterEventHandler? AfterEndGameEventHandler; + public event SucceedEventHandler? SucceedEndGameEventHandler; + public event FailedEventHandler? FailedEndGameEventHandler; + + public EventResult OnBeforeEndGameEvent(object sender, GeneralEventArgs e); + public EventResult OnAfterEndGameEvent(object sender, GeneralEventArgs e); + public EventResult OnSucceedEndGameEvent(object sender, GeneralEventArgs e); + public EventResult OnFailedEndGameEvent(object sender, GeneralEventArgs e); + } +} diff --git a/FunGame.Core/Interface/Event/Events.cs b/FunGame.Core/Interface/Event/Events.cs index 71ccf0f..3c07946 100644 --- a/FunGame.Core/Interface/Event/Events.cs +++ b/FunGame.Core/Interface/Event/Events.cs @@ -1,291 +1,176 @@ using Milimoe.FunGame.Core.Library.Common.Event; using Milimoe.FunGame.Core.Library.Constant; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Milimoe.FunGame.Core.Interface { - public interface IEvent + /// + /// 插件需要实现什么事件就继承什么接口 + /// + public interface IConnectEvent { - public delegate EventResult BeforeEvent(object sender, GeneralEventArgs e); - public delegate EventResult AfterEvent(object sender, GeneralEventArgs e); - public delegate EventResult SucceedEvent(object sender, GeneralEventArgs e); - public delegate EventResult FailedEvent(object sender, GeneralEventArgs e); + public EventResult BeforeConnectEvent(object sender, GeneralEventArgs e); + public EventResult AfterConnectEvent(object sender, GeneralEventArgs e); + public EventResult SucceedConnectEvent(object sender, GeneralEventArgs e); + public EventResult FailedConnectEvent(object sender, GeneralEventArgs e); } - public interface IConnectEvent : IEvent + public interface IDisconnectEvent { - public event BeforeEvent? BeforeConnectEvent; - public event AfterEvent? AfterConnectEvent; - public event SucceedEvent? SucceedConnectEvent; - public event FailedEvent? FailedConnectEvent; - - public EventResult OnBeforeConnectEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterConnectEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedConnectEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedConnectEvent(object sender, GeneralEventArgs e); + 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 interface IDisconnectEvent : IEvent + public interface ILoginEvent { - public event BeforeEvent? BeforeDisconnectEvent; - public event AfterEvent? AfterDisconnectEvent; - public event SucceedEvent? SucceedDisconnectEvent; - public event FailedEvent? FailedDisconnectEvent; - - public EventResult OnBeforeDisconnectEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterDisconnectEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedDisconnectEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedDisconnectEvent(object sender, GeneralEventArgs e); + public EventResult BeforeLoginEvent(object sender, GeneralEventArgs e); + public EventResult AfterLoginEvent(object sender, GeneralEventArgs e); + public EventResult SucceedLoginEvent(object sender, GeneralEventArgs e); + public EventResult FailedLoginEvent(object sender, GeneralEventArgs e); } - public interface ILoginEvent : IEvent + public interface ILogoutEvent { - public event BeforeEvent? BeforeLoginEvent; - public event AfterEvent? AfterLoginEvent; - public event SucceedEvent? SucceedLoginEvent; - public event FailedEvent? FailedLoginEvent; - - public EventResult OnBeforeLoginEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterLoginEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedLoginEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedLoginEvent(object sender, GeneralEventArgs e); + 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 interface ILogoutEvent : IEvent + public interface IRegEvent { - public event BeforeEvent? BeforeLogoutEvent; - public event AfterEvent? AfterLogoutEvent; - public event SucceedEvent? SucceedLogoutEvent; - public event FailedEvent? FailedLogoutEvent; - - public EventResult OnBeforeLogoutEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterLogoutEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedLogoutEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedLogoutEvent(object sender, GeneralEventArgs e); + public EventResult BeforeRegEvent(object sender, GeneralEventArgs e); + public EventResult AfterRegEvent(object sender, GeneralEventArgs e); + public EventResult SucceedRegEvent(object sender, GeneralEventArgs e); + public EventResult FailedRegEvent(object sender, GeneralEventArgs e); } - public interface IRegEvent : IEvent + public interface IIntoRoomEvent { - public event BeforeEvent? BeforeRegEvent; - public event AfterEvent? AfterRegEvent; - public event SucceedEvent? SucceedRegEvent; - public event FailedEvent? FailedRegEvent; - - public EventResult OnBeforeRegEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterRegEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedRegEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedRegEvent(object sender, GeneralEventArgs e); + public EventResult BeforeIntoRoomEvent(object sender, GeneralEventArgs e); + public EventResult AfterIntoRoomEvent(object sender, GeneralEventArgs e); + public EventResult SucceedIntoRoomEvent(object sender, GeneralEventArgs e); + public EventResult FailedIntoRoomEvent(object sender, GeneralEventArgs e); } - public interface IIntoRoomEvent : IEvent + public interface ISendTalkEvent { - public event BeforeEvent? BeforeIntoRoomEvent; - public event AfterEvent? AfterIntoRoomEvent; - public event SucceedEvent? SucceedIntoRoomEvent; - public event FailedEvent? FailedIntoRoomEvent; - - public EventResult OnBeforeIntoRoomEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterIntoRoomEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedIntoRoomEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedIntoRoomEvent(object sender, GeneralEventArgs e); + public EventResult BeforeSendTalkEvent(object sender, GeneralEventArgs e); + public EventResult AfterSendTalkEvent(object sender, GeneralEventArgs e); + public EventResult SucceedSendTalkEvent(object sender, GeneralEventArgs e); + public EventResult FailedSendTalkEvent(object sender, GeneralEventArgs e); } - public interface ISendTalkEvent : IEvent + public interface ICreateRoomEvent { - public event BeforeEvent? BeforeSendTalkEvent; - public event AfterEvent? AfterSendTalkEvent; - public event SucceedEvent? SucceedSendTalkEvent; - public event FailedEvent? FailedSendTalkEvent; - - public EventResult OnBeforeSendTalkEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterSendTalkEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedSendTalkEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedSendTalkEvent(object sender, GeneralEventArgs e); + public EventResult BeforeCreateRoomEvent(object sender, GeneralEventArgs e); + public EventResult AfterCreateRoomEvent(object sender, GeneralEventArgs e); + public EventResult SucceedCreateRoomEvent(object sender, GeneralEventArgs e); + public EventResult FailedCreateRoomEvent(object sender, GeneralEventArgs e); } - public interface ICreateRoomEvent : IEvent + public interface IQuitRoomEvent { - public event BeforeEvent? BeforeCreateRoomEvent; - public event AfterEvent? AfterCreateRoomEvent; - public event SucceedEvent? SucceedCreateRoomEvent; - public event FailedEvent? FailedCreateRoomEvent; - - public EventResult OnBeforeCreateRoomEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterCreateRoomEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedCreateRoomEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedCreateRoomEvent(object sender, GeneralEventArgs e); + public EventResult BeforeQuitRoomEvent(object sender, GeneralEventArgs e); + public EventResult AfterQuitRoomEvent(object sender, GeneralEventArgs e); + public EventResult SucceedQuitRoomEvent(object sender, GeneralEventArgs e); + public EventResult FailedQuitRoomEvent(object sender, GeneralEventArgs e); } - public interface IQuitRoomEvent : IEvent + public interface IChangeRoomSettingEvent { - public event BeforeEvent? BeforeQuitRoomEvent; - public event AfterEvent? AfterQuitRoomEvent; - public event SucceedEvent? SucceedQuitRoomEvent; - public event FailedEvent? FailedQuitRoomEvent; - - public EventResult OnBeforeQuitRoomEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterQuitRoomEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedQuitRoomEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedQuitRoomEvent(object sender, GeneralEventArgs e); + 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 interface IChangeRoomSettingEvent : IEvent + public interface IStartMatchEvent { - public event BeforeEvent? BeforeChangeRoomSettingEvent; - public event AfterEvent? AfterChangeRoomSettingEvent; - public event SucceedEvent? SucceedChangeRoomSettingEvent; - public event FailedEvent? FailedChangeRoomSettingEvent; - - public EventResult OnBeforeChangeRoomSettingEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterChangeRoomSettingEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedChangeRoomSettingEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedChangeRoomSettingEvent(object sender, GeneralEventArgs e); + 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 interface IStartMatchEvent : IEvent + public interface IStartGameEvent { - public event BeforeEvent? BeforeStartMatchEvent; - public event AfterEvent? AfterStartMatchEvent; - public event SucceedEvent? SucceedStartMatchEvent; - public event FailedEvent? FailedStartMatchEvent; - - public EventResult OnBeforeStartMatchEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterStartMatchEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedStartMatchEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedStartMatchEvent(object sender, GeneralEventArgs e); + 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 interface IStartGameEvent : IEvent + public interface IChangeProfileEvent { - public event BeforeEvent? BeforeStartGameEvent; - public event AfterEvent? AfterStartGameEvent; - public event SucceedEvent? SucceedStartGameEvent; - public event FailedEvent? FailedStartGameEvent; - - public EventResult OnBeforeStartGameEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterStartGameEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedStartGameEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedStartGameEvent(object sender, GeneralEventArgs e); + 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 interface IChangeProfileEvent : IEvent + public interface IChangeAccountSettingEvent { - public event BeforeEvent? BeforeChangeProfileEvent; - public event AfterEvent? AfterChangeProfileEvent; - public event SucceedEvent? SucceedChangeProfileEvent; - public event FailedEvent? FailedChangeProfileEvent; - - public EventResult OnBeforeChangeProfileEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterChangeProfileEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedChangeProfileEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedChangeProfileEvent(object sender, GeneralEventArgs e); + 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 interface IChangeAccountSettingEvent : IEvent + public interface IOpenInventoryEvent { - public event BeforeEvent? BeforeChangeAccountSettingEvent; - public event AfterEvent? AfterChangeAccountSettingEvent; - public event SucceedEvent? SucceedChangeAccountSettingEvent; - public event FailedEvent? FailedChangeAccountSettingEvent; - - public EventResult OnBeforeChangeAccountSettingEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterChangeAccountSettingEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedChangeAccountSettingEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedChangeAccountSettingEvent(object sender, GeneralEventArgs e); + 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 interface IOpenInventoryEvent : IEvent + public interface ISignInEvent { - public event BeforeEvent? BeforeOpenInventoryEvent; - public event AfterEvent? AfterOpenInventoryEvent; - public event SucceedEvent? SucceedOpenInventoryEvent; - public event FailedEvent? FailedOpenInventoryEvent; - - public EventResult OnBeforeOpenInventoryEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterOpenInventoryEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedOpenInventoryEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedOpenInventoryEvent(object sender, GeneralEventArgs e); + 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 interface ISignInEvent : IEvent + public interface IOpenStoreEvent { - public event BeforeEvent? BeforeSignInEvent; - public event AfterEvent? AfterSignInEvent; - public event SucceedEvent? SucceedSignInEvent; - public event FailedEvent? FailedSignInEvent; - - public EventResult OnBeforeSignInEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterSignInEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedSignInEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedSignInEvent(object sender, GeneralEventArgs e); + 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 interface IOpenStoreEvent : IEvent + public interface IBuyItemEvent { - public event BeforeEvent? BeforeOpenStoreEvent; - public event AfterEvent? AfterOpenStoreEvent; - public event SucceedEvent? SucceedOpenStoreEvent; - public event FailedEvent? FailedOpenStoreEvent; - - public EventResult OnBeforeOpenStoreEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterOpenStoreEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedOpenStoreEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedOpenStoreEvent(object sender, GeneralEventArgs e); + 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 interface IBuyItemEvent : IEvent + public interface IShowRankingEvent { - public event BeforeEvent? BeforeBuyItemEvent; - public event AfterEvent? AfterBuyItemEvent; - public event SucceedEvent? SucceedBuyItemEvent; - public event FailedEvent? FailedBuyItemEvent; - - public EventResult OnBeforeBuyItemEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterBuyItemEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedBuyItemEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedBuyItemEvent(object sender, GeneralEventArgs e); + 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 interface IShowRankingEvent : IEvent + public interface IUseItemEvent { - public event BeforeEvent? BeforeShowRankingEvent; - public event AfterEvent? AfterShowRankingEvent; - public event SucceedEvent? SucceedShowRankingEvent; - public event FailedEvent? FailedShowRankingEvent; - - public EventResult OnBeforeShowRankingEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterShowRankingEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedShowRankingEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedShowRankingEvent(object sender, GeneralEventArgs e); + 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 interface IUseItemEvent : IEvent + public interface IEndGameEvent { - public event BeforeEvent? BeforeUseItemEvent; - public event AfterEvent? AfterUseItemEvent; - public event SucceedEvent? SucceedUseItemEvent; - public event FailedEvent? FailedUseItemEvent; - - public EventResult OnBeforeUseItemEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterUseItemEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedUseItemEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedUseItemEvent(object sender, GeneralEventArgs e); - } - - public interface IEndGameEvent : IEvent - { - public event BeforeEvent? BeforeEndGameEvent; - public event AfterEvent? AfterEndGameEvent; - public event SucceedEvent? SucceedEndGameEvent; - public event FailedEvent? FailedEndGameEvent; - - public EventResult OnBeforeEndGameEvent(object sender, GeneralEventArgs e); - public EventResult OnAfterEndGameEvent(object sender, GeneralEventArgs e); - public EventResult OnSucceedEndGameEvent(object sender, GeneralEventArgs e); - public EventResult OnFailedEndGameEvent(object sender, GeneralEventArgs e); + 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); } } diff --git a/FunGame.Core/Library/Common/Plugin/BasePlugin.cs b/FunGame.Core/Library/Common/Plugin/BasePlugin.cs new file mode 100644 index 0000000..3188caf --- /dev/null +++ b/FunGame.Core/Library/Common/Plugin/BasePlugin.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Milimoe.FunGame.Core.Library.Common.Plugin +{ + public class BasePlugin + { + + } +} diff --git a/FunGame.Desktop/Library/Base/BaseMain.cs b/FunGame.Desktop/Library/Base/BaseMain.cs index de7cdf4..7018c0c 100644 --- a/FunGame.Desktop/Library/Base/BaseMain.cs +++ b/FunGame.Desktop/Library/Base/BaseMain.cs @@ -1,131 +1,132 @@ using Milimoe.FunGame.Core.Interface; using Milimoe.FunGame.Core.Library.Common.Event; using Milimoe.FunGame.Core.Library.Constant; +using Milimoe.FunGame.Desktop.Controller; using Milimoe.FunGame.Desktop.Library.Component; namespace Milimoe.FunGame.Desktop.Library.Base { - public class BaseMain : GeneralForm, IConnectEvent, IDisconnectEvent, ILogoutEvent + public class BaseMain : GeneralForm, IConnectEventHandler, IDisconnectEventHandler, ILogoutEventHandler { - public event IEvent.BeforeEvent? BeforeConnectEvent; - public event IEvent.AfterEvent? AfterConnectEvent; - public event IEvent.SucceedEvent? SucceedConnectEvent; - public event IEvent.FailedEvent? FailedConnectEvent; + public event IEventHandler.BeforeEventHandler? BeforeConnectEventHandler; + public event IEventHandler.AfterEventHandler? AfterConnectEventHandler; + public event IEventHandler.SucceedEventHandler? SucceedConnectEventHandler; + public event IEventHandler.FailedEventHandler? FailedConnectEventHandler; public EventResult OnAfterConnectEvent(object sender, GeneralEventArgs e) { - if (AfterConnectEvent != null) + if (AfterConnectEventHandler != null) { - return AfterConnectEvent(sender, e); + return AfterConnectEventHandler(sender, e); } else return EventResult.NoEventImplement; } public EventResult OnBeforeConnectEvent(object sender, GeneralEventArgs e) { - if (BeforeConnectEvent != null) + if (BeforeConnectEventHandler != null) { - return BeforeConnectEvent(sender, e); + return BeforeConnectEventHandler(sender, e); } else return EventResult.NoEventImplement; } public EventResult OnSucceedConnectEvent(object sender, GeneralEventArgs e) { - if (SucceedConnectEvent != null) + if (SucceedConnectEventHandler != null) { - return SucceedConnectEvent(sender, e); + return SucceedConnectEventHandler(sender, e); } else return EventResult.NoEventImplement; } public EventResult OnFailedConnectEvent(object sender, GeneralEventArgs e) { - if (FailedConnectEvent != null) + if (FailedConnectEventHandler != null) { - return FailedConnectEvent(sender, e); + return FailedConnectEventHandler(sender, e); } else return EventResult.NoEventImplement; } - public event IEvent.BeforeEvent? BeforeDisconnectEvent; - public event IEvent.AfterEvent? AfterDisconnectEvent; - public event IEvent.SucceedEvent? SucceedDisconnectEvent; - public event IEvent.FailedEvent? FailedDisconnectEvent; + public event IEventHandler.BeforeEventHandler? BeforeDisconnectEventHandler; + public event IEventHandler.AfterEventHandler? AfterDisconnectEventHandler; + public event IEventHandler.SucceedEventHandler? SucceedDisconnectEventHandler; + public event IEventHandler.FailedEventHandler? FailedDisconnectEventHandler; public EventResult OnAfterDisconnectEvent(object sender, GeneralEventArgs e) { - if (AfterDisconnectEvent != null) + if (AfterDisconnectEventHandler != null) { - return AfterDisconnectEvent(sender, e); + return AfterDisconnectEventHandler(sender, e); } else return EventResult.NoEventImplement; } public EventResult OnBeforeDisconnectEvent(object sender, GeneralEventArgs e) { - if (BeforeDisconnectEvent != null) + if (BeforeDisconnectEventHandler != null) { - return BeforeDisconnectEvent(sender, e); + return BeforeDisconnectEventHandler(sender, e); } else return EventResult.NoEventImplement; } public EventResult OnFailedDisconnectEvent(object sender, GeneralEventArgs e) { - if (FailedDisconnectEvent != null) + if (FailedDisconnectEventHandler != null) { - return FailedDisconnectEvent(sender, e); + return FailedDisconnectEventHandler(sender, e); } else return EventResult.NoEventImplement; } public EventResult OnSucceedDisconnectEvent(object sender, GeneralEventArgs e) { - if (SucceedDisconnectEvent != null) + if (SucceedDisconnectEventHandler != null) { - return SucceedDisconnectEvent(sender, e); + return SucceedDisconnectEventHandler(sender, e); } else return EventResult.NoEventImplement; } - public event IEvent.BeforeEvent? BeforeLogoutEvent; - public event IEvent.AfterEvent? AfterLogoutEvent; - public event IEvent.SucceedEvent? SucceedLogoutEvent; - public event IEvent.FailedEvent? FailedLogoutEvent; + public event IEventHandler.BeforeEventHandler? BeforeLogoutEventHandler; + public event IEventHandler.AfterEventHandler? AfterLogoutEventHandler; + public event IEventHandler.SucceedEventHandler? SucceedLogoutEventHandler; + public event IEventHandler.FailedEventHandler? FailedLogoutEventHandler; public EventResult OnAfterLogoutEvent(object sender, GeneralEventArgs e) { - if (AfterLogoutEvent != null) + if (AfterLogoutEventHandler != null) { - return AfterLogoutEvent(sender, e); + return AfterLogoutEventHandler(sender, e); } else return EventResult.NoEventImplement; } public EventResult OnBeforeLogoutEvent(object sender, GeneralEventArgs e) { - if (BeforeLogoutEvent != null) + if (BeforeLogoutEventHandler != null) { - return BeforeLogoutEvent(sender, e); + return BeforeLogoutEventHandler(sender, e); } else return EventResult.NoEventImplement; } public EventResult OnFailedLogoutEvent(object sender, GeneralEventArgs e) { - if (FailedLogoutEvent != null) + if (FailedLogoutEventHandler != null) { - return FailedLogoutEvent(sender, e); + return FailedLogoutEventHandler(sender, e); } else return EventResult.NoEventImplement; } public EventResult OnSucceedLogoutEvent(object sender, GeneralEventArgs e) { - if (SucceedLogoutEvent != null) + if (SucceedLogoutEventHandler != null) { - return SucceedLogoutEvent(sender, e); + return SucceedLogoutEventHandler(sender, e); } else return EventResult.NoEventImplement; } diff --git a/FunGame.Desktop/UI/Main/Main.cs b/FunGame.Desktop/UI/Main/Main.cs index 192da82..abe4168 100644 --- a/FunGame.Desktop/UI/Main/Main.cs +++ b/FunGame.Desktop/UI/Main/Main.cs @@ -1,23 +1,18 @@ -using System; using System.Diagnostics; -using System.Net.Sockets; -using System.Net; -using System.Windows.Forms; -using System.Net.NetworkInformation; -using System.Text; using Milimoe.FunGame.Core.Api.Utility; +using Milimoe.FunGame.Core.Entity; +using Milimoe.FunGame.Core.Interface; +using Milimoe.FunGame.Core.Library.Constant; +using Milimoe.FunGame.Core.Library.Exception; +using Milimoe.FunGame.Core.Library.Common.Event; using Milimoe.FunGame.Desktop.Library; using Milimoe.FunGame.Desktop.Library.Component; -using Milimoe.FunGame.Core.Library.Constant; using Milimoe.FunGame.Desktop.Controller; -using Milimoe.FunGame.Core.Library.Exception; -using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Desktop.Library.Base; -using Milimoe.FunGame.Core.Library.Common.Event; namespace Milimoe.FunGame.Desktop.UI { - public partial class Main : BaseMain + public partial class Main : BaseMain, IConnectEvent { #region 变量定义 @@ -81,10 +76,10 @@ namespace Milimoe.FunGame.Desktop.UI protected override void BindEvent() { base.BindEvent(); - base.AfterConnectEvent += AfterConnectEvent; - base.BeforeConnectEvent += BeforeConnectEvent; - base.FailedConnectEvent += FailedConnectEvent; - base.SucceedConnectEvent += SucceedConnectEvent; + AfterConnectEventHandler += AfterConnectEvent; + BeforeConnectEventHandler += BeforeConnectEvent; + FailedConnectEventHandler += FailedConnectEvent; + SucceedConnectEventHandler += SucceedConnectEvent; } #endregion @@ -1139,7 +1134,7 @@ namespace Milimoe.FunGame.Desktop.UI /// /// /// - private new EventResult BeforeConnectEvent(object sender, GeneralEventArgs e) + public EventResult BeforeConnectEvent(object sender, GeneralEventArgs e) { UpdateUI("触发【Before Connect】事件"); return EventResult.Success; @@ -1151,7 +1146,7 @@ namespace Milimoe.FunGame.Desktop.UI /// /// /// - private new EventResult AfterConnectEvent(object sender, GeneralEventArgs e) + public EventResult AfterConnectEvent(object sender, GeneralEventArgs e) { UpdateUI("触发【After Connect】事件"); return EventResult.Success; @@ -1163,7 +1158,7 @@ namespace Milimoe.FunGame.Desktop.UI /// /// /// - private new EventResult FailedConnectEvent(object sender, GeneralEventArgs e) + public EventResult FailedConnectEvent(object sender, GeneralEventArgs e) { UpdateUI("触发【Failed Connect】事件"); return EventResult.Success; @@ -1175,7 +1170,7 @@ namespace Milimoe.FunGame.Desktop.UI /// /// /// - private new EventResult SucceedConnectEvent(object sender, GeneralEventArgs e) + public EventResult SucceedConnectEvent(object sender, GeneralEventArgs e) { UpdateUI("触发【Succeed Connect】事件"); if (MainController != null && Config.FunGame_isAutoLogin)