2022-11-19 01:51:49 +08:00

187 lines
6.4 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 interface IDisconnectEvent : IEvent
{
public event BeforeEvent BeforeDisconnectEvent;
public event AfterEvent AfterDisconnectEvent;
public event SucceedEvent SucceedDisconnectEvent;
public event FailedEvent FailedDisconnectEvent;
}
public interface ILoginEvent : IEvent
{
public event BeforeEvent BeforeLoginEvent;
public event AfterEvent AfterLoginEvent;
public event SucceedEvent SucceedLoginEvent;
public event FailedEvent FailedLoginEvent;
}
public interface ILogoutEvent : IEvent
{
public event BeforeEvent BeforeLogoutEvent;
public event AfterEvent AfterLogoutEvent;
public event SucceedEvent SucceedLogoutEvent;
public event FailedEvent FailedLogoutEvent;
}
public interface IRegEvent : IEvent
{
public event BeforeEvent BeforeRegEvent;
public event AfterEvent AfterRegEvent;
public event SucceedEvent SucceedRegEvent;
public event FailedEvent FailedRegEvent;
}
public interface IIntoRoomEvent : IEvent
{
public event BeforeEvent BeforeIntoRoomEvent;
public event AfterEvent AfterIntoRoomEvent;
public event SucceedEvent SucceedIntoRoomEvent;
public event FailedEvent FailedIntoRoomEvent;
}
public interface ISendTalkEvent : IEvent
{
public event BeforeEvent BeforeSendTalkEvent;
public event AfterEvent AfterSendTalkEvent;
public event SucceedEvent SucceedSendTalkEvent;
public event FailedEvent FailedSendTalkEvent;
}
public interface ICreateRoomEvent : IEvent
{
public event BeforeEvent BeforeCreateRoomEvent;
public event AfterEvent AfterCreateRoomEvent;
public event SucceedEvent SucceedCreateRoomEvent;
public event FailedEvent FailedCreateRoomEvent;
}
public interface IQuitRoomEvent : IEvent
{
public event BeforeEvent BeforeQuitRoomEvent;
public event AfterEvent AfterQuitRoomEvent;
public event SucceedEvent SucceedQuitRoomEvent;
public event FailedEvent FailedQuitRoomEvent;
}
public interface IChangeRoomSettingEvent : IEvent
{
public event BeforeEvent BeforeChangeRoomSettingEvent;
public event AfterEvent AfterChangeRoomSettingEvent;
public event SucceedEvent SucceedChangeRoomSettingEvent;
public event FailedEvent FailedChangeRoomSettingEvent;
}
public interface IStartMatchEvent : IEvent
{
public event BeforeEvent BeforeStartMatchEvent;
public event AfterEvent AfterStartMatchEvent;
public event SucceedEvent SucceedStartMatchEvent;
public event FailedEvent FailedStartMatchEvent;
}
public interface IStartGameEvent : IEvent
{
public event BeforeEvent BeforeStartGameEvent;
public event AfterEvent AfterStartGameEvent;
public event SucceedEvent SucceedStartGameEvent;
public event FailedEvent FailedStartGameEvent;
}
public interface IChangeProfileEvent : IEvent
{
public event BeforeEvent BeforeChangeProfileEvent;
public event AfterEvent AfterChangeProfileEvent;
public event SucceedEvent SucceedChangeProfileEvent;
public event FailedEvent FailedChangeProfileEvent;
}
public interface IChangeAccountSettingEvent : IEvent
{
public event BeforeEvent BeforeChangeAccountSettingEvent;
public event AfterEvent AfterChangeAccountSettingEvent;
public event SucceedEvent SucceedChangeAccountSettingEvent;
public event FailedEvent FailedChangeAccountSettingEvent;
}
public interface IOpenInventoryEvent : IEvent
{
public event BeforeEvent BeforeOpenInventoryEvent;
public event AfterEvent AfterOpenInventoryEvent;
public event SucceedEvent SucceedOpenInventoryEvent;
public event FailedEvent FailedOpenInventoryEvent;
}
public interface ISignInEvent : IEvent
{
public event BeforeEvent BeforeSignInEvent;
public event AfterEvent AfterSignInEvent;
public event SucceedEvent SucceedSignInEvent;
public event FailedEvent FailedSignInEvent;
}
public interface IOpenStoreEvent : IEvent
{
public event BeforeEvent BeforeOpenStoreEvent;
public event AfterEvent AfterOpenStoreEvent;
public event SucceedEvent SucceedOpenStoreEvent;
public event FailedEvent FailedOpenStoreEvent;
}
public interface IBuyItemEvent : IEvent
{
public event BeforeEvent BeforeBuyItemEvent;
public event AfterEvent AfterBuyItemEvent;
public event SucceedEvent SucceedBuyItemEvent;
public event FailedEvent FailedBuyItemEvent;
}
public interface IShowRankingEvent : IEvent
{
public event BeforeEvent BeforeShowRankingEvent;
public event AfterEvent AfterShowRankingEvent;
public event SucceedEvent SucceedShowRankingEvent;
public event FailedEvent FailedShowRankingEvent;
}
public interface IUseItemEvent : IEvent
{
public event BeforeEvent BeforeUseItemEvent;
public event AfterEvent AfterUseItemEvent;
public event SucceedEvent SucceedUseItemEvent;
public event FailedEvent FailedUseItemEvent;
}
public interface IEndGameEvent : IEvent
{
public event BeforeEvent BeforeEndGameEvent;
public event AfterEvent AfterEndGameEvent;
public event SucceedEvent SucceedEndGameEvent;
public event FailedEvent FailedEndGameEvent;
}
}