更新Event和Handler

This commit is contained in:
Mili 2023-02-20 00:38:13 +08:00
parent 6fd29f5d47
commit 6d5cb91df3
8 changed files with 468 additions and 297 deletions

View File

@ -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; } = "";

View File

@ -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
{

View File

@ -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<IBaseEntity>, IEnumerable<IBaseEntity>
{
public int Id { get; }
public long Id { get; }
public Guid Guid { get; }
public string Name { get; }
}

View File

@ -0,0 +1,289 @@
using Milimoe.FunGame.Core.Library.Common.Event;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Interface
{
/// <summary>
/// 窗体继承这些接口便能实现事件,或为插件预留。
/// </summary>
public interface IEventHandler
{
public delegate EventResult BeforeEventHandler(object sender, GeneralEventArgs e);
public delegate EventResult AfterEventHandler(object sender, GeneralEventArgs e);
public delegate EventResult SucceedEventHandler(object sender, GeneralEventArgs e);
public delegate EventResult FailedEventHandler(object sender, GeneralEventArgs e);
}
public 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);
}
}

View File

@ -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
/// <summary>
/// 插件需要实现什么事件就继承什么接口
/// </summary>
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);
}
}

View File

@ -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
{
}
}

View File

@ -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;
}

View File

@ -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
/// <param name="sender"></param>
/// <param name="e"></param>
/// <returns></returns>
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
/// <param name="sender"></param>
/// <param name="e"></param>
/// <returns></returns>
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
/// <param name="sender"></param>
/// <param name="e"></param>
/// <returns></returns>
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
/// <param name="sender"></param>
/// <param name="e"></param>
/// <returns></returns>
private new EventResult SucceedConnectEvent(object sender, GeneralEventArgs e)
public EventResult SucceedConnectEvent(object sender, GeneralEventArgs e)
{
UpdateUI("触发【Succeed Connect】事件");
if (MainController != null && Config.FunGame_isAutoLogin)