2022-11-30 19:25:55 +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);
}
}