2023-02-19 02:16:03 +08:00

292 lines
14 KiB
C#

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 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 interface IConnectEvent : IEvent
{
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 interface IDisconnectEvent : IEvent
{
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 interface ILoginEvent : IEvent
{
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 interface ILogoutEvent : IEvent
{
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 interface IRegEvent : IEvent
{
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 interface IIntoRoomEvent : IEvent
{
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 interface ISendTalkEvent : IEvent
{
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 interface ICreateRoomEvent : IEvent
{
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 interface IQuitRoomEvent : IEvent
{
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 interface IChangeRoomSettingEvent : IEvent
{
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 interface IStartMatchEvent : IEvent
{
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 interface IStartGameEvent : IEvent
{
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 interface IChangeProfileEvent : IEvent
{
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 interface IChangeAccountSettingEvent : IEvent
{
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 interface IOpenInventoryEvent : IEvent
{
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 interface ISignInEvent : IEvent
{
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 interface IOpenStoreEvent : IEvent
{
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 interface IBuyItemEvent : IEvent
{
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 interface IShowRankingEvent : IEvent
{
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 interface IUseItemEvent : IEvent
{
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);
}
}