mirror of
https://github.com/project-redbud/FunGame-Core.git
synced 2025-12-05 00:06:02 +00:00
测试事件系统
This commit is contained in:
parent
d830709706
commit
6fd29f5d47
@ -18,10 +18,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IConnectEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeConnectEvent;
|
||||
public event AfterEvent AfterConnectEvent;
|
||||
public event SucceedEvent SucceedConnectEvent;
|
||||
public event FailedEvent FailedConnectEvent;
|
||||
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);
|
||||
@ -31,10 +31,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IDisconnectEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeDisconnectEvent;
|
||||
public event AfterEvent AfterDisconnectEvent;
|
||||
public event SucceedEvent SucceedDisconnectEvent;
|
||||
public event FailedEvent FailedDisconnectEvent;
|
||||
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);
|
||||
@ -44,10 +44,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface ILoginEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeLoginEvent;
|
||||
public event AfterEvent AfterLoginEvent;
|
||||
public event SucceedEvent SucceedLoginEvent;
|
||||
public event FailedEvent FailedLoginEvent;
|
||||
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);
|
||||
@ -57,10 +57,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface ILogoutEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeLogoutEvent;
|
||||
public event AfterEvent AfterLogoutEvent;
|
||||
public event SucceedEvent SucceedLogoutEvent;
|
||||
public event FailedEvent FailedLogoutEvent;
|
||||
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);
|
||||
@ -70,10 +70,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IRegEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeRegEvent;
|
||||
public event AfterEvent AfterRegEvent;
|
||||
public event SucceedEvent SucceedRegEvent;
|
||||
public event FailedEvent FailedRegEvent;
|
||||
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);
|
||||
@ -83,10 +83,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IIntoRoomEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeIntoRoomEvent;
|
||||
public event AfterEvent AfterIntoRoomEvent;
|
||||
public event SucceedEvent SucceedIntoRoomEvent;
|
||||
public event FailedEvent FailedIntoRoomEvent;
|
||||
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);
|
||||
@ -96,10 +96,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface ISendTalkEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeSendTalkEvent;
|
||||
public event AfterEvent AfterSendTalkEvent;
|
||||
public event SucceedEvent SucceedSendTalkEvent;
|
||||
public event FailedEvent FailedSendTalkEvent;
|
||||
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);
|
||||
@ -109,10 +109,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface ICreateRoomEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeCreateRoomEvent;
|
||||
public event AfterEvent AfterCreateRoomEvent;
|
||||
public event SucceedEvent SucceedCreateRoomEvent;
|
||||
public event FailedEvent FailedCreateRoomEvent;
|
||||
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);
|
||||
@ -122,10 +122,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IQuitRoomEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeQuitRoomEvent;
|
||||
public event AfterEvent AfterQuitRoomEvent;
|
||||
public event SucceedEvent SucceedQuitRoomEvent;
|
||||
public event FailedEvent FailedQuitRoomEvent;
|
||||
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);
|
||||
@ -135,10 +135,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IChangeRoomSettingEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeChangeRoomSettingEvent;
|
||||
public event AfterEvent AfterChangeRoomSettingEvent;
|
||||
public event SucceedEvent SucceedChangeRoomSettingEvent;
|
||||
public event FailedEvent FailedChangeRoomSettingEvent;
|
||||
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);
|
||||
@ -148,10 +148,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IStartMatchEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeStartMatchEvent;
|
||||
public event AfterEvent AfterStartMatchEvent;
|
||||
public event SucceedEvent SucceedStartMatchEvent;
|
||||
public event FailedEvent FailedStartMatchEvent;
|
||||
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);
|
||||
@ -161,10 +161,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IStartGameEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeStartGameEvent;
|
||||
public event AfterEvent AfterStartGameEvent;
|
||||
public event SucceedEvent SucceedStartGameEvent;
|
||||
public event FailedEvent FailedStartGameEvent;
|
||||
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);
|
||||
@ -174,10 +174,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IChangeProfileEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeChangeProfileEvent;
|
||||
public event AfterEvent AfterChangeProfileEvent;
|
||||
public event SucceedEvent SucceedChangeProfileEvent;
|
||||
public event FailedEvent FailedChangeProfileEvent;
|
||||
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);
|
||||
@ -187,10 +187,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IChangeAccountSettingEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeChangeAccountSettingEvent;
|
||||
public event AfterEvent AfterChangeAccountSettingEvent;
|
||||
public event SucceedEvent SucceedChangeAccountSettingEvent;
|
||||
public event FailedEvent FailedChangeAccountSettingEvent;
|
||||
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);
|
||||
@ -200,10 +200,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IOpenInventoryEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeOpenInventoryEvent;
|
||||
public event AfterEvent AfterOpenInventoryEvent;
|
||||
public event SucceedEvent SucceedOpenInventoryEvent;
|
||||
public event FailedEvent FailedOpenInventoryEvent;
|
||||
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);
|
||||
@ -213,10 +213,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface ISignInEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeSignInEvent;
|
||||
public event AfterEvent AfterSignInEvent;
|
||||
public event SucceedEvent SucceedSignInEvent;
|
||||
public event FailedEvent FailedSignInEvent;
|
||||
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);
|
||||
@ -226,10 +226,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IOpenStoreEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeOpenStoreEvent;
|
||||
public event AfterEvent AfterOpenStoreEvent;
|
||||
public event SucceedEvent SucceedOpenStoreEvent;
|
||||
public event FailedEvent FailedOpenStoreEvent;
|
||||
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);
|
||||
@ -239,10 +239,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IBuyItemEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeBuyItemEvent;
|
||||
public event AfterEvent AfterBuyItemEvent;
|
||||
public event SucceedEvent SucceedBuyItemEvent;
|
||||
public event FailedEvent FailedBuyItemEvent;
|
||||
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);
|
||||
@ -252,10 +252,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IShowRankingEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeShowRankingEvent;
|
||||
public event AfterEvent AfterShowRankingEvent;
|
||||
public event SucceedEvent SucceedShowRankingEvent;
|
||||
public event FailedEvent FailedShowRankingEvent;
|
||||
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);
|
||||
@ -265,10 +265,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IUseItemEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeUseItemEvent;
|
||||
public event AfterEvent AfterUseItemEvent;
|
||||
public event SucceedEvent SucceedUseItemEvent;
|
||||
public event FailedEvent FailedUseItemEvent;
|
||||
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);
|
||||
@ -278,10 +278,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
|
||||
public interface IEndGameEvent : IEvent
|
||||
{
|
||||
public event BeforeEvent BeforeEndGameEvent;
|
||||
public event AfterEvent AfterEndGameEvent;
|
||||
public event SucceedEvent SucceedEndGameEvent;
|
||||
public event FailedEvent FailedEndGameEvent;
|
||||
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);
|
||||
|
||||
@ -11,7 +11,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Event
|
||||
public string EventMsg { get; set; } = "";
|
||||
public object[]? Parameters { get; set; } = null;
|
||||
|
||||
public GeneralEventArgs(string EventMsg, object[]? Parameters = null)
|
||||
public GeneralEventArgs(string EventMsg = "", object[]? Parameters = null)
|
||||
{
|
||||
this.EventMsg = EventMsg;
|
||||
this.Parameters = Parameters;
|
||||
|
||||
@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Constant
|
||||
namespace Milimoe.FunGame.Core.Library.Constant
|
||||
{
|
||||
public class InterfaceSet
|
||||
{
|
||||
|
||||
@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Constant
|
||||
namespace Milimoe.FunGame.Core.Library.Constant
|
||||
{
|
||||
public class FunGameInfo
|
||||
{
|
||||
|
||||
@ -1,10 +1,3 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Constant
|
||||
{
|
||||
public enum InterfaceMethod
|
||||
|
||||
@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Constant
|
||||
namespace Milimoe.FunGame.Core.Library.Constant
|
||||
{
|
||||
public enum MessageResult
|
||||
{
|
||||
@ -18,7 +12,8 @@ namespace Milimoe.FunGame.Core.Library.Constant
|
||||
public enum EventResult
|
||||
{
|
||||
Success,
|
||||
Fail
|
||||
Fail,
|
||||
NoEventImplement
|
||||
}
|
||||
|
||||
public enum SocketResult
|
||||
|
||||
@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Constant
|
||||
namespace Milimoe.FunGame.Core.Library.Constant
|
||||
{
|
||||
public enum StartMatchState
|
||||
{
|
||||
|
||||
@ -1,10 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Constant
|
||||
namespace Milimoe.FunGame.Core.Library.Constant
|
||||
{
|
||||
public enum FormType
|
||||
{
|
||||
|
||||
@ -12,6 +12,7 @@ using Milimoe.FunGame.Desktop.Library.Component;
|
||||
using Milimoe.FunGame.Desktop.Library.Interface;
|
||||
using Milimoe.FunGame.Desktop.Model;
|
||||
using Milimoe.FunGame.Desktop.UI;
|
||||
using Milimoe.FunGame.Core.Interface;
|
||||
|
||||
namespace Milimoe.FunGame.Desktop.Controller
|
||||
{
|
||||
|
||||
133
FunGame.Desktop/Library/Base/BaseMain.cs
Normal file
133
FunGame.Desktop/Library/Base/BaseMain.cs
Normal file
@ -0,0 +1,133 @@
|
||||
using Milimoe.FunGame.Core.Interface;
|
||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
||||
using Milimoe.FunGame.Core.Library.Constant;
|
||||
using Milimoe.FunGame.Desktop.Library.Component;
|
||||
|
||||
namespace Milimoe.FunGame.Desktop.Library.Base
|
||||
{
|
||||
public class BaseMain : GeneralForm, IConnectEvent, IDisconnectEvent, ILogoutEvent
|
||||
{
|
||||
public event IEvent.BeforeEvent? BeforeConnectEvent;
|
||||
public event IEvent.AfterEvent? AfterConnectEvent;
|
||||
public event IEvent.SucceedEvent? SucceedConnectEvent;
|
||||
public event IEvent.FailedEvent? FailedConnectEvent;
|
||||
|
||||
public EventResult OnAfterConnectEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
if (AfterConnectEvent != null)
|
||||
{
|
||||
return AfterConnectEvent(sender, e);
|
||||
}
|
||||
else return EventResult.NoEventImplement;
|
||||
}
|
||||
|
||||
public EventResult OnBeforeConnectEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
if (BeforeConnectEvent != null)
|
||||
{
|
||||
return BeforeConnectEvent(sender, e);
|
||||
}
|
||||
else return EventResult.NoEventImplement;
|
||||
}
|
||||
|
||||
public EventResult OnSucceedConnectEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
if (SucceedConnectEvent != null)
|
||||
{
|
||||
return SucceedConnectEvent(sender, e);
|
||||
}
|
||||
else return EventResult.NoEventImplement;
|
||||
}
|
||||
|
||||
public EventResult OnFailedConnectEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
if (FailedConnectEvent != null)
|
||||
{
|
||||
return FailedConnectEvent(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 EventResult OnAfterDisconnectEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
if (AfterDisconnectEvent != null)
|
||||
{
|
||||
return AfterDisconnectEvent(sender, e);
|
||||
}
|
||||
else return EventResult.NoEventImplement;
|
||||
}
|
||||
|
||||
public EventResult OnBeforeDisconnectEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
if (BeforeDisconnectEvent != null)
|
||||
{
|
||||
return BeforeDisconnectEvent(sender, e);
|
||||
}
|
||||
else return EventResult.NoEventImplement;
|
||||
}
|
||||
|
||||
public EventResult OnFailedDisconnectEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
if (FailedDisconnectEvent != null)
|
||||
{
|
||||
return FailedDisconnectEvent(sender, e);
|
||||
}
|
||||
else return EventResult.NoEventImplement;
|
||||
}
|
||||
|
||||
public EventResult OnSucceedDisconnectEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
if (SucceedDisconnectEvent != null)
|
||||
{
|
||||
return SucceedDisconnectEvent(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 EventResult OnAfterLogoutEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
if (AfterLogoutEvent != null)
|
||||
{
|
||||
return AfterLogoutEvent(sender, e);
|
||||
}
|
||||
else return EventResult.NoEventImplement;
|
||||
}
|
||||
|
||||
public EventResult OnBeforeLogoutEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
if (BeforeLogoutEvent != null)
|
||||
{
|
||||
return BeforeLogoutEvent(sender, e);
|
||||
}
|
||||
else return EventResult.NoEventImplement;
|
||||
}
|
||||
|
||||
public EventResult OnFailedLogoutEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
if (FailedLogoutEvent != null)
|
||||
{
|
||||
return FailedLogoutEvent(sender, e);
|
||||
}
|
||||
else return EventResult.NoEventImplement;
|
||||
}
|
||||
|
||||
public EventResult OnSucceedLogoutEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
if (SucceedLogoutEvent != null)
|
||||
{
|
||||
return SucceedLogoutEvent(sender, e);
|
||||
}
|
||||
else return EventResult.NoEventImplement;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -19,6 +19,14 @@ namespace Milimoe.FunGame.Desktop.Library.Component
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定事件,子类需要重写
|
||||
/// </summary>
|
||||
protected virtual void BindEvent()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 鼠标按下,开始移动主窗口
|
||||
/// </summary>
|
||||
|
||||
@ -36,7 +36,7 @@ namespace Milimoe.FunGame.Desktop.Model
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Main?.GetMessage(e.GetErrorInfo());
|
||||
Main.GetMessage(e.GetErrorInfo());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -49,7 +49,7 @@ namespace Milimoe.FunGame.Desktop.Model
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Main?.GetMessage(e.GetErrorInfo());
|
||||
Main.GetMessage(e.GetErrorInfo());
|
||||
}
|
||||
}
|
||||
|
||||
@ -83,7 +83,7 @@ namespace Milimoe.FunGame.Desktop.Model
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Main?.GetMessage(e.GetErrorInfo(), false);
|
||||
Main.GetMessage(e.GetErrorInfo(), false);
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -91,6 +91,7 @@ namespace Milimoe.FunGame.Desktop.Model
|
||||
|
||||
public ConnectResult Connect()
|
||||
{
|
||||
Main.OnBeforeConnectEvent(Main, new GeneralEventArgs());
|
||||
if (Constant.Server_Address == "" || Constant.Server_Port <= 0)
|
||||
{
|
||||
ShowMessage.ErrorMessage("查找可用的服务器失败!");
|
||||
@ -100,17 +101,17 @@ namespace Milimoe.FunGame.Desktop.Model
|
||||
{
|
||||
if (Config.FunGame_isRetrying)
|
||||
{
|
||||
Main?.GetMessage("正在连接服务器,请耐心等待。");
|
||||
Main.GetMessage("正在连接服务器,请耐心等待。");
|
||||
Config.FunGame_isRetrying = false;
|
||||
return ConnectResult.CanNotConnect;
|
||||
}
|
||||
if (!Config.FunGame_isConnected)
|
||||
{
|
||||
Main!.CurrentRetryTimes++;
|
||||
if (Main!.CurrentRetryTimes == 0) Main!.GetMessage("开始连接服务器...", true, TimeType.General);
|
||||
else Main!.GetMessage("第" + Main!.CurrentRetryTimes + "次重试连接服务器...");
|
||||
Main.CurrentRetryTimes++;
|
||||
if (Main.CurrentRetryTimes == 0) Main.GetMessage("开始连接服务器...", true, TimeType.General);
|
||||
else Main.GetMessage("第" + Main.CurrentRetryTimes + "次重试连接服务器...");
|
||||
// 超过重连次数上限
|
||||
if (Main!.CurrentRetryTimes + 1 > Main!.MaxRetryTimes)
|
||||
if (Main.CurrentRetryTimes + 1 > Main.MaxRetryTimes)
|
||||
{
|
||||
throw new Exception("无法连接至服务器,请检查网络并重启游戏再试。");
|
||||
}
|
||||
@ -129,9 +130,11 @@ namespace Milimoe.FunGame.Desktop.Model
|
||||
{
|
||||
if (Receiving() == SocketMessageType.Connect)
|
||||
{
|
||||
Main?.GetMessage("连接服务器成功,请登录账号以体验FunGame。");
|
||||
Main?.UpdateUI(MainControllerSet.Connected);
|
||||
Main.GetMessage("连接服务器成功,请登录账号以体验FunGame。");
|
||||
Main.UpdateUI(MainControllerSet.Connected);
|
||||
StartReceiving();
|
||||
Main.OnSucceedConnectEvent(Main, new GeneralEventArgs());
|
||||
Main.OnAfterConnectEvent(Main, new GeneralEventArgs());
|
||||
}
|
||||
});
|
||||
return ConnectResult.Success;
|
||||
@ -143,24 +146,32 @@ namespace Milimoe.FunGame.Desktop.Model
|
||||
}
|
||||
else
|
||||
{
|
||||
Main?.GetMessage("已连接至服务器,请勿重复连接。");
|
||||
Main.GetMessage("已连接至服务器,请勿重复连接。");
|
||||
return ConnectResult.CanNotConnect;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Main?.GetMessage(e.GetErrorInfo(), false);
|
||||
Main.GetMessage(e.GetErrorInfo(), false);
|
||||
Main.UpdateUI(MainControllerSet.SetRed);
|
||||
Config.FunGame_isRetrying = false;
|
||||
if (Config.FunGame_isAutoRetry && Main!.CurrentRetryTimes <= Main!.MaxRetryTimes)
|
||||
if (Config.FunGame_isAutoRetry && Main.CurrentRetryTimes <= Main.MaxRetryTimes)
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
Thread.Sleep(5000);
|
||||
if (Config.FunGame_isAutoRetry) Connect(); // 再次判断是否开启自动重连
|
||||
});
|
||||
Main?.GetMessage("连接服务器失败,5秒后自动尝试重连。");
|
||||
Main.GetMessage("连接服务器失败,5秒后自动尝试重连。");
|
||||
Main.OnFailedConnectEvent(Main, new GeneralEventArgs());
|
||||
Main.OnAfterConnectEvent(Main, new GeneralEventArgs());
|
||||
}
|
||||
else
|
||||
{
|
||||
Main.OnFailedConnectEvent(Main, new GeneralEventArgs());
|
||||
Main.OnAfterConnectEvent(Main, new GeneralEventArgs());
|
||||
return ConnectResult.ConnectFailed;
|
||||
}
|
||||
else return ConnectResult.ConnectFailed;
|
||||
}
|
||||
return ConnectResult.CanNotConnect;
|
||||
}
|
||||
@ -287,7 +298,7 @@ namespace Milimoe.FunGame.Desktop.Model
|
||||
|
||||
case SocketMessageType.HeartBeat:
|
||||
if (Socket.Connected && Usercfg.LoginUser != null)
|
||||
Main?.UpdateUI(MainControllerSet.SetGreenAndPing);
|
||||
Main.UpdateUI(MainControllerSet.SetGreenAndPing);
|
||||
break;
|
||||
|
||||
case SocketMessageType.Unknown:
|
||||
@ -298,8 +309,8 @@ namespace Milimoe.FunGame.Desktop.Model
|
||||
catch (Exception e)
|
||||
{
|
||||
// 报错中断服务器连接
|
||||
Main?.GetMessage(e.GetErrorInfo(), false);
|
||||
Main?.UpdateUI(MainControllerSet.Disconnected);
|
||||
Main.GetMessage(e.GetErrorInfo(), false);
|
||||
Main.UpdateUI(MainControllerSet.Disconnected);
|
||||
Close();
|
||||
}
|
||||
|
||||
@ -317,9 +328,9 @@ namespace Milimoe.FunGame.Desktop.Model
|
||||
Config.FunGame_Notice = ServerNotice;
|
||||
if (objs.Length > 1) msg = NetworkUtility.ConvertJsonObject<string>(objs[1])!;
|
||||
Socket!.Token = msg;
|
||||
Main?.GetMessage($"已连接服务器:{ServerName}。\n\n********** 服务器公告 **********\n\n{ServerNotice}\n\n");
|
||||
Main.GetMessage($"已连接服务器:{ServerName}。\n\n********** 服务器公告 **********\n\n{ServerNotice}\n\n");
|
||||
// 设置等待登录的黄灯
|
||||
Main?.UpdateUI(MainControllerSet.WaitLoginAndSetYellow);
|
||||
Main.UpdateUI(MainControllerSet.WaitLoginAndSetYellow);
|
||||
}
|
||||
|
||||
private void SocketHandle_GetNotice(object[] objs)
|
||||
@ -332,16 +343,16 @@ namespace Milimoe.FunGame.Desktop.Model
|
||||
string msg = "";
|
||||
// 返回的objs是该Login的User对象的各个属性
|
||||
if (objs.Length > 0) msg = NetworkUtility.ConvertJsonObject<string>(objs[0])!;
|
||||
Main?.GetMessage(msg);
|
||||
Main?.UpdateUI(MainControllerSet.SetUser, new object[] { Factory.New<User>(msg) });
|
||||
Main.GetMessage(msg);
|
||||
Main.UpdateUI(MainControllerSet.SetUser, new object[] { Factory.New<User>(msg) });
|
||||
}
|
||||
|
||||
private void SocketHandle_Disconnect(object[] objs)
|
||||
{
|
||||
string msg = "";
|
||||
if (objs.Length > 0) msg = NetworkUtility.ConvertJsonObject<string>(objs[0])!;
|
||||
Main?.GetMessage(msg);
|
||||
Main?.UpdateUI(MainControllerSet.Disconnect);
|
||||
Main.GetMessage(msg);
|
||||
Main.UpdateUI(MainControllerSet.Disconnect);
|
||||
Close();
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,10 +12,12 @@ 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 : GeneralForm
|
||||
public partial class Main : BaseMain
|
||||
{
|
||||
|
||||
#region 变量定义
|
||||
@ -43,6 +45,7 @@ namespace Milimoe.FunGame.Desktop.UI
|
||||
{
|
||||
InitializeComponent();
|
||||
Init();
|
||||
BindEvent();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -75,6 +78,15 @@ namespace Milimoe.FunGame.Desktop.UI
|
||||
});
|
||||
}
|
||||
|
||||
protected override void BindEvent()
|
||||
{
|
||||
base.BindEvent();
|
||||
base.AfterConnectEvent += AfterConnectEvent;
|
||||
base.BeforeConnectEvent += BeforeConnectEvent;
|
||||
base.FailedConnectEvent += FailedConnectEvent;
|
||||
base.SucceedConnectEvent += SucceedConnectEvent;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 公有方法
|
||||
@ -82,10 +94,8 @@ namespace Milimoe.FunGame.Desktop.UI
|
||||
/// <summary>
|
||||
/// 提供公共方法给Controller更新UI
|
||||
/// </summary>
|
||||
/// <param name="updatetype"></param>
|
||||
/// <param name="time"></param>
|
||||
/// <param name="timetype"></param>
|
||||
/// <param name="objs"></param>
|
||||
/// <param name="updatetype">string?</param>
|
||||
/// <param name="objs">object[]?</param>
|
||||
public void UpdateUI(string? updatetype, object[]? objs = null)
|
||||
{
|
||||
void action()
|
||||
@ -203,22 +213,13 @@ namespace Milimoe.FunGame.Desktop.UI
|
||||
break;
|
||||
|
||||
case MainControllerSet.Connected:
|
||||
Action action = () =>
|
||||
{
|
||||
NoticeText.Text = Config.FunGame_Notice;
|
||||
if (MainController != null && Config.FunGame_isAutoLogin)
|
||||
{
|
||||
// 自动登录 [TODO]
|
||||
|
||||
}
|
||||
};
|
||||
if (InvokeRequired)
|
||||
BeginInvoke(action);
|
||||
else
|
||||
action();
|
||||
NoticeText.Text = Config.FunGame_Notice;
|
||||
break;
|
||||
|
||||
default:
|
||||
// 直接调用UpdateUI(string)为输出该string到控制台。
|
||||
// 和GetMessage(string)的效果不一样,输出格式为:HH:mm:ss >> string。
|
||||
WritelnSystemInfo(updatetype);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1132,6 +1133,59 @@ namespace Milimoe.FunGame.Desktop.UI
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 连接服务器前触发事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
/// <returns></returns>
|
||||
private new EventResult BeforeConnectEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
UpdateUI("触发【Before Connect】事件");
|
||||
return EventResult.Success;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 连接服务器后触发事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
/// <returns></returns>
|
||||
private new EventResult AfterConnectEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
UpdateUI("触发【After Connect】事件");
|
||||
return EventResult.Success;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 连接服务器失败后触发事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
/// <returns></returns>
|
||||
private new EventResult FailedConnectEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
UpdateUI("触发【Failed Connect】事件");
|
||||
return EventResult.Success;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 连接服务器成功后触发事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
/// <returns></returns>
|
||||
private new EventResult SucceedConnectEvent(object sender, GeneralEventArgs e)
|
||||
{
|
||||
UpdateUI("触发【Succeed Connect】事件");
|
||||
if (MainController != null && Config.FunGame_isAutoLogin)
|
||||
{
|
||||
// 自动登录 [TODO]
|
||||
|
||||
}
|
||||
return EventResult.Success;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 工具方法
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user