封装Exception

This commit is contained in:
Mili 2023-02-21 23:19:47 +08:00
parent 9de90d2891
commit 3ffc87c0bb
88 changed files with 469 additions and 880 deletions

View File

@ -1,10 +1,4 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Interface.Base;
using Milimoe.FunGame.Core.Interface.Base;
using Milimoe.FunGame.Core.Library.Common.Network;
using Milimoe.FunGame.Core.Library.Constant;

View File

@ -1,11 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Milimoe.FunGame.Core.Api.Factory
namespace Milimoe.FunGame.Core.Api.Factory
{
internal class CharacterFactory
{

View File

@ -1,11 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Milimoe.FunGame.Core.Api.Factory
namespace Milimoe.FunGame.Core.Api.Factory
{
internal class InventoryFactory
{

View File

@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Api.Factory
{

View File

@ -1,11 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Api.Factory
{

View File

@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Api.Factory

View File

@ -1,9 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Milimoe.FunGame.Core.Api.Factory
{
internal class UserFactory

View File

@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Api.Utility

View File

@ -1,14 +1,8 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Milimoe.FunGame.Core.Library.Constant;
using System.Net.NetworkInformation;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;
using System.Text.Json;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Library.Constant;
// 通用工具类,客户端和服务器端都可以直接调用的工具方法都可以写在这里
namespace Milimoe.FunGame.Core.Api.Utility

View File

@ -1,10 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Milimoe.FunGame.Core.Library.Constant;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Api.Utility
{

View File

@ -1,10 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Milimoe.FunGame.Core.Library.Constant;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Api.Utility
{

View File

@ -1,9 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace Milimoe.FunGame.Core.Api.Utility
{
@ -30,7 +25,7 @@ namespace Milimoe.FunGame.Core.Api.Utility
/// </summary>
/// <param name="single">单例对象</param>
/// <returns></returns>
/// <exception cref="Exception">添加单例到单例表时遇到错误</exception>
/// <exception cref="SingletonAddException">添加单例到单例表时遇到错误</exception>
public static bool Add(object single)
{
string type = single.GetType().ToString();
@ -42,7 +37,7 @@ namespace Milimoe.FunGame.Core.Api.Utility
}
catch
{
throw new Exception("添加单例到单例表时遇到错误。");
throw new SingletonAddException();
}
return true;
}
@ -73,7 +68,7 @@ namespace Milimoe.FunGame.Core.Api.Utility
/// </summary>
/// <typeparam name="T">目标类</typeparam>
/// <returns></returns>
/// <exception cref="Exception">不能从单例表中获取到指定的单例</exception>
/// <exception cref="SingletonGetException">不能从单例表中获取到指定的单例</exception>
public static T? Get<T>()
{
T? single = default;
@ -86,7 +81,7 @@ namespace Milimoe.FunGame.Core.Api.Utility
}
catch
{
throw new Exception("不能从单例表中获取到指定的单例。");
throw new SingletonGetException();
}
if (single != null) return single;
}
@ -98,7 +93,7 @@ namespace Milimoe.FunGame.Core.Api.Utility
/// </summary>
/// <param name="type">目标类</param>
/// <returns></returns>
/// <exception cref="Exception">不能从单例表中获取到指定的单例</exception>
/// <exception cref="SingletonGetException">不能从单例表中获取到指定的单例</exception>
public static object? Get(Type type)
{
object? single = default;
@ -110,7 +105,7 @@ namespace Milimoe.FunGame.Core.Api.Utility
}
catch
{
throw new Exception("不能从单例表中获取到指定的单例。");
throw new SingletonGetException();
}
if (single != null) return single;
}

View File

@ -1,10 +1,5 @@
using System;
using Milimoe.FunGame.Core.Interface.Entity;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Interface.Entity;
namespace Milimoe.FunGame.Core.Entity
{

View File

@ -1,10 +1,5 @@
using System;
using Milimoe.FunGame.Core.Library.Constant;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Entity
{

View File

@ -1,10 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Interface.Entity;
using Milimoe.FunGame.Core.Interface.Entity;
namespace Milimoe.FunGame.Core.Entity
{

View File

@ -1,10 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Interface.Entity;
using Milimoe.FunGame.Core.Interface.Entity;
namespace Milimoe.FunGame.Core.Entity
{

View File

@ -1,10 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Interface.Entity;
using Milimoe.FunGame.Core.Interface.Entity;
namespace Milimoe.FunGame.Core.Entity
{

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 ActiveSkill : Skill
{

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 PassiveSkill : Skill
{

View File

@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Entity
{

View File

@ -1,9 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace Milimoe.FunGame.Core.Entity
{

View File

@ -1,9 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace Milimoe.FunGame.Core.Entity
{

View File

@ -1,9 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace Milimoe.FunGame.Core.Entity
{

View File

@ -1,10 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Entity;
using System.Collections;
namespace Milimoe.FunGame.Core.Entity
{

View File

@ -1,11 +1,5 @@
using System;
using Milimoe.FunGame.Core.Library.Constant;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Entity
{

View File

@ -1,9 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Milimoe.FunGame.Core.Entity
{
public class User

View File

@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Interface.Base
{

View File

@ -1,10 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Library.Common.Network;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Interface.Base
{

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.Interface.Base
namespace Milimoe.FunGame.Core.Interface.Base
{
public interface ISocketHeartBeat
{

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.Interface.Entity
namespace Milimoe.FunGame.Core.Interface.Entity
{
public interface IActiveEnable
{

View File

@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Entity;
namespace Milimoe.FunGame.Core.Interface.Entity
{

View File

@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Entity;
namespace Milimoe.FunGame.Core.Interface.Entity
{

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.Interface.Entity
namespace Milimoe.FunGame.Core.Interface.Entity
{
public interface ICharacter
{

View File

@ -1,11 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Entity;
namespace Milimoe.FunGame.Core.Interface.Entity
namespace Milimoe.FunGame.Core.Interface.Entity
{
public interface IItem : IActiveEnable, IRelateCharacter
{

View File

@ -16,10 +16,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IConnectEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeConnectEvent;
public event AfterEventHandler? AfterConnectEvent;
public event SucceedEventHandler? SucceedConnectEvent;
public event FailedEventHandler? FailedConnectEvent;
public event BeforeEventHandler? BeforeConnect;
public event AfterEventHandler? AfterConnect;
public event SucceedEventHandler? SucceedConnect;
public event FailedEventHandler? FailedConnect;
public EventResult OnBeforeConnectEvent(GeneralEventArgs e);
public EventResult OnAfterConnectEvent(GeneralEventArgs e);
@ -29,10 +29,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IDisconnectEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeDisconnectEvent;
public event AfterEventHandler? AfterDisconnectEvent;
public event SucceedEventHandler? SucceedDisconnectEvent;
public event FailedEventHandler? FailedDisconnectEvent;
public event BeforeEventHandler? BeforeDisconnect;
public event AfterEventHandler? AfterDisconnect;
public event SucceedEventHandler? SucceedDisconnect;
public event FailedEventHandler? FailedDisconnect;
public EventResult OnBeforeDisconnectEvent(GeneralEventArgs e);
public EventResult OnAfterDisconnectEvent(GeneralEventArgs e);
@ -42,10 +42,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface ILoginEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeLoginEvent;
public event AfterEventHandler? AfterLoginEvent;
public event SucceedEventHandler? SucceedLoginEvent;
public event FailedEventHandler? FailedLoginEvent;
public event BeforeEventHandler? BeforeLogin;
public event AfterEventHandler? AfterLogin;
public event SucceedEventHandler? SucceedLogin;
public event FailedEventHandler? FailedLogin;
public EventResult OnBeforeLoginEvent(GeneralEventArgs e);
public EventResult OnAfterLoginEvent(GeneralEventArgs e);
@ -55,10 +55,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface ILogoutEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeLogoutEvent;
public event AfterEventHandler? AfterLogoutEvent;
public event SucceedEventHandler? SucceedLogoutEvent;
public event FailedEventHandler? FailedLogoutEvent;
public event BeforeEventHandler? BeforeLogout;
public event AfterEventHandler? AfterLogout;
public event SucceedEventHandler? SucceedLogout;
public event FailedEventHandler? FailedLogout;
public EventResult OnBeforeLogoutEvent(GeneralEventArgs e);
public EventResult OnAfterLogoutEvent(GeneralEventArgs e);
@ -68,10 +68,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IRegEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeRegEvent;
public event AfterEventHandler? AfterRegEvent;
public event SucceedEventHandler? SucceedRegEvent;
public event FailedEventHandler? FailedRegEvent;
public event BeforeEventHandler? BeforeReg;
public event AfterEventHandler? AfterReg;
public event SucceedEventHandler? SucceedReg;
public event FailedEventHandler? FailedReg;
public EventResult OnBeforeRegEvent(GeneralEventArgs e);
public EventResult OnAfterRegEvent(GeneralEventArgs e);
@ -81,10 +81,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IIntoRoomEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeIntoRoomEvent;
public event AfterEventHandler? AfterIntoRoomEvent;
public event SucceedEventHandler? SucceedIntoRoomEvent;
public event FailedEventHandler? FailedIntoRoomEvent;
public event BeforeEventHandler? BeforeIntoRoom;
public event AfterEventHandler? AfterIntoRoom;
public event SucceedEventHandler? SucceedIntoRoom;
public event FailedEventHandler? FailedIntoRoom;
public EventResult OnBeforeIntoRoomEvent(GeneralEventArgs e);
public EventResult OnAfterIntoRoomEvent(GeneralEventArgs e);
@ -94,10 +94,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface ISendTalkEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeSendTalkEvent;
public event AfterEventHandler? AfterSendTalkEvent;
public event SucceedEventHandler? SucceedSendTalkEvent;
public event FailedEventHandler? FailedSendTalkEvent;
public event BeforeEventHandler? BeforeSendTalk;
public event AfterEventHandler? AfterSendTalk;
public event SucceedEventHandler? SucceedSendTalk;
public event FailedEventHandler? FailedSendTalk;
public EventResult OnBeforeSendTalkEvent(GeneralEventArgs e);
public EventResult OnAfterSendTalkEvent(GeneralEventArgs e);
@ -107,10 +107,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface ICreateRoomEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeCreateRoomEvent;
public event AfterEventHandler? AfterCreateRoomEvent;
public event SucceedEventHandler? SucceedCreateRoomEvent;
public event FailedEventHandler? FailedCreateRoomEvent;
public event BeforeEventHandler? BeforeCreateRoom;
public event AfterEventHandler? AfterCreateRoom;
public event SucceedEventHandler? SucceedCreateRoom;
public event FailedEventHandler? FailedCreateRoom;
public EventResult OnBeforeCreateRoomEvent(GeneralEventArgs e);
public EventResult OnAfterCreateRoomEvent(GeneralEventArgs e);
@ -120,10 +120,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IQuitRoomEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeQuitRoomEvent;
public event AfterEventHandler? AfterQuitRoomEvent;
public event SucceedEventHandler? SucceedQuitRoomEvent;
public event FailedEventHandler? FailedQuitRoomEvent;
public event BeforeEventHandler? BeforeQuitRoom;
public event AfterEventHandler? AfterQuitRoom;
public event SucceedEventHandler? SucceedQuitRoom;
public event FailedEventHandler? FailedQuitRoom;
public EventResult OnBeforeQuitRoomEvent(GeneralEventArgs e);
public EventResult OnAfterQuitRoomEvent(GeneralEventArgs e);
@ -133,10 +133,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IChangeRoomSettingEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeChangeRoomSettingEvent;
public event AfterEventHandler? AfterChangeRoomSettingEvent;
public event SucceedEventHandler? SucceedChangeRoomSettingEvent;
public event FailedEventHandler? FailedChangeRoomSettingEvent;
public event BeforeEventHandler? BeforeChangeRoomSetting;
public event AfterEventHandler? AfterChangeRoomSetting;
public event SucceedEventHandler? SucceedChangeRoomSetting;
public event FailedEventHandler? FailedChangeRoomSetting;
public EventResult OnBeforeChangeRoomSettingEvent(GeneralEventArgs e);
public EventResult OnAfterChangeRoomSettingEvent(GeneralEventArgs e);
@ -146,10 +146,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IStartMatchEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeStartMatchEvent;
public event AfterEventHandler? AfterStartMatchEvent;
public event SucceedEventHandler? SucceedStartMatchEvent;
public event FailedEventHandler? FailedStartMatchEvent;
public event BeforeEventHandler? BeforeStartMatch;
public event AfterEventHandler? AfterStartMatch;
public event SucceedEventHandler? SucceedStartMatch;
public event FailedEventHandler? FailedStartMatch;
public EventResult OnBeforeStartMatchEvent(GeneralEventArgs e);
public EventResult OnAfterStartMatchEvent(GeneralEventArgs e);
@ -159,10 +159,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IStartGameEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeStartGameEvent;
public event AfterEventHandler? AfterStartGameEvent;
public event SucceedEventHandler? SucceedStartGameEvent;
public event FailedEventHandler? FailedStartGameEvent;
public event BeforeEventHandler? BeforeStartGame;
public event AfterEventHandler? AfterStartGame;
public event SucceedEventHandler? SucceedStartGame;
public event FailedEventHandler? FailedStartGame;
public EventResult OnBeforeStartGameEvent(GeneralEventArgs e);
public EventResult OnAfterStartGameEvent(GeneralEventArgs e);
@ -172,10 +172,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IChangeProfileEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeChangeProfileEvent;
public event AfterEventHandler? AfterChangeProfileEvent;
public event SucceedEventHandler? SucceedChangeProfileEvent;
public event FailedEventHandler? FailedChangeProfileEvent;
public event BeforeEventHandler? BeforeChangeProfile;
public event AfterEventHandler? AfterChangeProfile;
public event SucceedEventHandler? SucceedChangeProfile;
public event FailedEventHandler? FailedChangeProfile;
public EventResult OnBeforeChangeProfileEvent(GeneralEventArgs e);
public EventResult OnAfterChangeProfileEvent(GeneralEventArgs e);
@ -185,10 +185,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IChangeAccountSettingEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeChangeAccountSettingEvent;
public event AfterEventHandler? AfterChangeAccountSettingEvent;
public event SucceedEventHandler? SucceedChangeAccountSettingEvent;
public event FailedEventHandler? FailedChangeAccountSettingEvent;
public event BeforeEventHandler? BeforeChangeAccountSetting;
public event AfterEventHandler? AfterChangeAccountSetting;
public event SucceedEventHandler? SucceedChangeAccountSetting;
public event FailedEventHandler? FailedChangeAccountSetting;
public EventResult OnBeforeChangeAccountSettingEvent(GeneralEventArgs e);
public EventResult OnAfterChangeAccountSettingEvent(GeneralEventArgs e);
@ -198,10 +198,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IOpenInventoryEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeOpenInventoryEvent;
public event AfterEventHandler? AfterOpenInventoryEvent;
public event SucceedEventHandler? SucceedOpenInventoryEvent;
public event FailedEventHandler? FailedOpenInventoryEvent;
public event BeforeEventHandler? BeforeOpenInventory;
public event AfterEventHandler? AfterOpenInventory;
public event SucceedEventHandler? SucceedOpenInventory;
public event FailedEventHandler? FailedOpenInventory;
public EventResult OnBeforeOpenInventoryEvent(GeneralEventArgs e);
public EventResult OnAfterOpenInventoryEvent(GeneralEventArgs e);
@ -211,10 +211,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface ISignInEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeSignInEvent;
public event AfterEventHandler? AfterSignInEvent;
public event SucceedEventHandler? SucceedSignInEvent;
public event FailedEventHandler? FailedSignInEvent;
public event BeforeEventHandler? BeforeSignIn;
public event AfterEventHandler? AfterSignIn;
public event SucceedEventHandler? SucceedSignIn;
public event FailedEventHandler? FailedSignIn;
public EventResult OnBeforeSignInEvent(GeneralEventArgs e);
public EventResult OnAfterSignInEvent(GeneralEventArgs e);
@ -224,10 +224,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IOpenStoreEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeOpenStoreEvent;
public event AfterEventHandler? AfterOpenStoreEvent;
public event SucceedEventHandler? SucceedOpenStoreEvent;
public event FailedEventHandler? FailedOpenStoreEvent;
public event BeforeEventHandler? BeforeOpenStore;
public event AfterEventHandler? AfterOpenStore;
public event SucceedEventHandler? SucceedOpenStore;
public event FailedEventHandler? FailedOpenStore;
public EventResult OnBeforeOpenStoreEvent(GeneralEventArgs e);
public EventResult OnAfterOpenStoreEvent(GeneralEventArgs e);
@ -237,10 +237,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IBuyItemEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeBuyItemEvent;
public event AfterEventHandler? AfterBuyItemEvent;
public event SucceedEventHandler? SucceedBuyItemEvent;
public event FailedEventHandler? FailedBuyItemEvent;
public event BeforeEventHandler? BeforeBuyItem;
public event AfterEventHandler? AfterBuyItem;
public event SucceedEventHandler? SucceedBuyItem;
public event FailedEventHandler? FailedBuyItem;
public EventResult OnBeforeBuyItemEvent(GeneralEventArgs e);
public EventResult OnAfterBuyItemEvent(GeneralEventArgs e);
@ -250,10 +250,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IShowRankingEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeShowRankingEvent;
public event AfterEventHandler? AfterShowRankingEvent;
public event SucceedEventHandler? SucceedShowRankingEvent;
public event FailedEventHandler? FailedShowRankingEvent;
public event BeforeEventHandler? BeforeShowRanking;
public event AfterEventHandler? AfterShowRanking;
public event SucceedEventHandler? SucceedShowRanking;
public event FailedEventHandler? FailedShowRanking;
public EventResult OnBeforeShowRankingEvent(GeneralEventArgs e);
public EventResult OnAfterShowRankingEvent(GeneralEventArgs e);
@ -263,10 +263,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IUseItemEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeUseItemEvent;
public event AfterEventHandler? AfterUseItemEvent;
public event SucceedEventHandler? SucceedUseItemEvent;
public event FailedEventHandler? FailedUseItemEvent;
public event BeforeEventHandler? BeforeUseItem;
public event AfterEventHandler? AfterUseItem;
public event SucceedEventHandler? SucceedUseItem;
public event FailedEventHandler? FailedUseItem;
public EventResult OnBeforeUseItemEvent(GeneralEventArgs e);
public EventResult OnAfterUseItemEvent(GeneralEventArgs e);
@ -276,10 +276,10 @@ namespace Milimoe.FunGame.Core.Interface
public interface IEndGameEventHandler : IEventHandler
{
public event BeforeEventHandler? BeforeEndGameEvent;
public event AfterEventHandler? AfterEndGameEvent;
public event SucceedEventHandler? SucceedEndGameEvent;
public event FailedEventHandler? FailedEndGameEvent;
public event BeforeEventHandler? BeforeEndGame;
public event AfterEventHandler? AfterEndGame;
public event SucceedEventHandler? SucceedEndGame;
public event FailedEventHandler? FailedEndGame;
public EventResult OnBeforeEndGameEvent(GeneralEventArgs e);
public EventResult OnAfterEndGameEvent(GeneralEventArgs e);

View File

@ -8,169 +8,169 @@ namespace Milimoe.FunGame.Core.Interface
/// </summary>
public interface IConnectEvent
{
public EventResult BeforeConnect(object sender, GeneralEventArgs e);
public EventResult AfterConnect(object sender, GeneralEventArgs e);
public EventResult SucceedConnect(object sender, GeneralEventArgs e);
public EventResult FailedConnect(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 IDisconnectEvent
{
public EventResult BeforeDisconnect(object sender, GeneralEventArgs e);
public EventResult AfterDisconnect(object sender, GeneralEventArgs e);
public EventResult SucceedDisconnect(object sender, GeneralEventArgs e);
public EventResult FailedDisconnect(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 ILoginEvent
{
public EventResult BeforeLogin(object sender, GeneralEventArgs e);
public EventResult AfterLogin(object sender, GeneralEventArgs e);
public EventResult SucceedLogin(object sender, GeneralEventArgs e);
public EventResult FailedLogin(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 ILogoutEvent
{
public EventResult BeforeLogout(object sender, GeneralEventArgs e);
public EventResult AfterLogout(object sender, GeneralEventArgs e);
public EventResult SucceedLogout(object sender, GeneralEventArgs e);
public EventResult FailedLogout(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 IRegEvent
{
public EventResult BeforeReg(object sender, GeneralEventArgs e);
public EventResult AfterReg(object sender, GeneralEventArgs e);
public EventResult SucceedReg(object sender, GeneralEventArgs e);
public EventResult FailedReg(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 IIntoRoomEvent
{
public EventResult BeforeIntoRoom(object sender, GeneralEventArgs e);
public EventResult AfterIntoRoom(object sender, GeneralEventArgs e);
public EventResult SucceedIntoRoom(object sender, GeneralEventArgs e);
public EventResult FailedIntoRoom(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 ISendTalkEvent
{
public EventResult BeforeSendTalk(object sender, GeneralEventArgs e);
public EventResult AfterSendTalk(object sender, GeneralEventArgs e);
public EventResult SucceedSendTalk(object sender, GeneralEventArgs e);
public EventResult FailedSendTalk(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 ICreateRoomEvent
{
public EventResult BeforeCreateRoom(object sender, GeneralEventArgs e);
public EventResult AfterCreateRoom(object sender, GeneralEventArgs e);
public EventResult SucceedCreateRoom(object sender, GeneralEventArgs e);
public EventResult FailedCreateRoom(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 IQuitRoomEvent
{
public EventResult BeforeQuitRoom(object sender, GeneralEventArgs e);
public EventResult AfterQuitRoom(object sender, GeneralEventArgs e);
public EventResult SucceedQuitRoom(object sender, GeneralEventArgs e);
public EventResult FailedQuitRoom(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 IChangeRoomSettingEvent
{
public EventResult BeforeChangeRoomSetting(object sender, GeneralEventArgs e);
public EventResult AfterChangeRoomSetting(object sender, GeneralEventArgs e);
public EventResult SucceedChangeRoomSetting(object sender, GeneralEventArgs e);
public EventResult FailedChangeRoomSetting(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 IStartMatchEvent
{
public EventResult BeforeStartMatch(object sender, GeneralEventArgs e);
public EventResult AfterStartMatch(object sender, GeneralEventArgs e);
public EventResult SucceedStartMatch(object sender, GeneralEventArgs e);
public EventResult FailedStartMatch(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 IStartGameEvent
{
public EventResult BeforeStartGame(object sender, GeneralEventArgs e);
public EventResult AfterStartGame(object sender, GeneralEventArgs e);
public EventResult SucceedStartGame(object sender, GeneralEventArgs e);
public EventResult FailedStartGame(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 IChangeProfileEvent
{
public EventResult BeforeChangeProfile(object sender, GeneralEventArgs e);
public EventResult AfterChangeProfile(object sender, GeneralEventArgs e);
public EventResult SucceedChangeProfile(object sender, GeneralEventArgs e);
public EventResult FailedChangeProfile(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 IChangeAccountSettingEvent
{
public EventResult BeforeChangeAccountSetting(object sender, GeneralEventArgs e);
public EventResult AfterChangeAccountSetting(object sender, GeneralEventArgs e);
public EventResult SucceedChangeAccountSetting(object sender, GeneralEventArgs e);
public EventResult FailedChangeAccountSetting(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 IOpenInventoryEvent
{
public EventResult BeforeOpenInventory(object sender, GeneralEventArgs e);
public EventResult AfterOpenInventory(object sender, GeneralEventArgs e);
public EventResult SucceedOpenInventory(object sender, GeneralEventArgs e);
public EventResult FailedOpenInventory(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 ISignInEvent
{
public EventResult BeforeSignIn(object sender, GeneralEventArgs e);
public EventResult AfterSignIn(object sender, GeneralEventArgs e);
public EventResult SucceedSignIn(object sender, GeneralEventArgs e);
public EventResult FailedSignIn(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 IOpenStoreEvent
{
public EventResult BeforeOpenStore(object sender, GeneralEventArgs e);
public EventResult AfterOpenStore(object sender, GeneralEventArgs e);
public EventResult SucceedOpenStore(object sender, GeneralEventArgs e);
public EventResult FailedOpenStore(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 IBuyItemEvent
{
public EventResult BeforeBuyItem(object sender, GeneralEventArgs e);
public EventResult AfterBuyItem(object sender, GeneralEventArgs e);
public EventResult SucceedBuyItem(object sender, GeneralEventArgs e);
public EventResult FailedBuyItem(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 IShowRankingEvent
{
public EventResult BeforeShowRanking(object sender, GeneralEventArgs e);
public EventResult AfterShowRanking(object sender, GeneralEventArgs e);
public EventResult SucceedShowRanking(object sender, GeneralEventArgs e);
public EventResult FailedShowRanking(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 IUseItemEvent
{
public EventResult BeforeUseItem(object sender, GeneralEventArgs e);
public EventResult AfterUseItem(object sender, GeneralEventArgs e);
public EventResult SucceedUseItem(object sender, GeneralEventArgs e);
public EventResult FailedUseItem(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 IEndGameEvent
{
public EventResult BeforeEndGame(object sender, GeneralEventArgs e);
public EventResult AfterEndGame(object sender, GeneralEventArgs e);
public EventResult SucceedEndGame(object sender, GeneralEventArgs e);
public EventResult FailedEndGame(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

@ -1,11 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Milimoe.FunGame.Core.Interface
namespace Milimoe.FunGame.Core.Interface
{
public interface IServer
{

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.Library.Common.Event
namespace Milimoe.FunGame.Core.Library.Common.Event
{
public class GeneralEventArgs : EventArgs
{

View File

@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Interface.Base;
using Milimoe.FunGame.Core.Interface.Base;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Service;
@ -63,7 +58,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Network
public object[] Receive()
{
object[] result = SocketManager.Receive(Instance);
if (result.Length != 2) throw new System.Exception("收到错误的返回信息。");
if (result.Length != 2) throw new SocketWrongInfoException();
return result;
}

View File

@ -1,11 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Milimoe.FunGame.Core.Library.Constant;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Library.Common.Network
{

View File

@ -1,12 +1,4 @@
using Milimoe.FunGame.Core.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
namespace Milimoe.FunGame.Core.Library.Common.Network
namespace Milimoe.FunGame.Core.Library.Common.Network
{
public class SQLServerInfo
{

View File

@ -1,12 +1,6 @@
using Milimoe.FunGame.Core.Interface.Base;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Service;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Milimoe.FunGame.Core.Library.Common.Network
{
@ -52,7 +46,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Network
if (MaxConnection <= 0) MaxConnection = SocketSet.MaxConnection_General;
System.Net.Sockets.Socket? socket = SocketManager.StartListening(Port, MaxConnection);
if (socket != null) return new ServerSocket(socket, Port);
else throw new System.Exception("无法创建监听,请重新启动服务器再试。");
else throw new SocketCreateListenException();
}
public ClientSocket Accept()
@ -64,7 +58,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Network
System.Net.Sockets.Socket Client = (System.Net.Sockets.Socket)result[1];
return new ClientSocket(Client, ServerPort, ClientIP, ClientIP);
}
throw new System.Exception("无法获取客户端信息。");
throw new SocketGetClientException();
}
public bool AddClient(string ClientName, Task t)
@ -79,12 +73,12 @@ namespace Milimoe.FunGame.Core.Library.Common.Network
public SocketResult Send(SocketMessageType type, params object[] objs)
{
throw new System.Exception("监听Socket不能用于发送信息。");
throw new ListeningSocketCanNotSendException();
}
public object[] Receive()
{
throw new System.Exception("监听Socket不能用于接收信息。");
throw new ListeningSocketCanNotSendException();
}
public void Close()
@ -94,7 +88,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Network
public void StartReceiving(Task t)
{
throw new System.Exception("监听Socket不能用于接收信息。");
throw new ListeningSocketCanNotSendException();
}
public static string GetTypeString(SocketMessageType type)

View File

@ -1,15 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Sockets;
using System.Net;
using System.Security.Cryptography;
using Milimoe.FunGame.Core.Interface;
using Milimoe.FunGame.Core.Service;
using Milimoe.FunGame.Core.Interface.Base;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Interface.Base;
using Milimoe.FunGame.Core.Service;
namespace Milimoe.FunGame.Core.Library.Common.Network
{
@ -71,7 +62,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Network
{
System.Net.Sockets.Socket? socket = SocketManager.Connect(IP, Port);
if (socket != null) return new Socket(socket, IP, Port);
else throw new System.Exception("连接到服务器失败。");
else throw new ConnectFailedException();
}
public SocketResult Send(SocketMessageType type, params object[] objs)
@ -90,7 +81,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Network
public object[] Receive()
{
object[] result = SocketManager.Receive();
if (result.Length != 2) throw new System.Exception("收到错误的返回信息。");
if (result.Length != 2) throw new SocketWrongInfoException();
if ((SocketMessageType)result[0] == SocketMessageType.HeartBeat)
{
if (WaitHeartBeatReply != null && !WaitHeartBeatReply.IsCompleted) WaitHeartBeatReply.Wait(1);
@ -167,7 +158,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Network
{
// 超过三次没回应心跳,服务器连接失败。
if (_HeartBeatFaileds++ >= 3)
throw new System.Exception("ERROR与服务器连接中断。");
throw new LostConnectException();
}
public static string GetTypeString(SocketMessageType type)

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.Library.Common.Plugin
namespace Milimoe.FunGame.Core.Library.Common.Plugin
{
public class BasePlugin
{

View File

@ -11,6 +11,8 @@
FunGame_Server
}
public const string FunGame_CopyRight = @"©2023 Mili.cyou. 米粒的糖果屋";
private const string FunGame_Core = "FunGame Core";
private const string FunGame_Core_Api = "FunGame Core Api";
private const string FunGame_Console = "FunGame Console";
@ -31,7 +33,7 @@
FunGame.FunGame_Server => FunGame_Server,
_ => ""
};
return type + " [ 版本: " + FunGame_Version + FunGame_VersionPatch + " ]\n" + (type.Equals(FunGame_Desktop) ? "©" : "(C)") + "2023 Mili.cyou. 保留所有权利\n";
return type + " [ 版本: " + FunGame_Version + FunGame_VersionPatch + " ]\n" + (type.Equals(FunGame_Desktop) ? @"©" : "(C)") + "2023 Mili.cyou. 保留所有权利\n";
}
/**

View File

@ -1,9 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Milimoe.FunGame.Core.Entity;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Entity;
namespace Milimoe.FunGame.Core.Library.Constant
{

View File

@ -1,11 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Entity;
namespace Milimoe.FunGame.Core.Library.Exception
namespace Milimoe.FunGame.Core.Library.Exception
{
public static class ExceptionHelper
{

View File

@ -1,34 +1,82 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Entity;
namespace Milimoe.FunGame.Core.Library.Exception
namespace Milimoe.FunGame
{
public class SystemError : System.Exception
{
public string Name { get; } = "";
public new string StackTrace { get => base.StackTrace ?? ""; }
private System.Exception e { get; }
public SystemError()
{
e = new System.Exception();
public override string Message => "系统错误 (#00001)";
}
public SystemError(string Name)
public class CanNotConnectException : System.Exception
{
this.Name = Name;
e = new System.Exception(Name);
public override string Message => "无法连接至服务器,请检查网络并重启游戏再试 (#00002)";
}
public string GetErrorInfo()
public class TimeOutException : System.Exception
{
return e.GetErrorInfo();
public override string Message => "连接超时 (#00003)";
}
public class UnknownException : System.Exception
{
public override string Message => "未知错误 (#00004)";
}
public class ReadConfigException : System.Exception
{
public override string Message => "读取配置文件出错,参数格式不正确 (#00005)";
}
public class SingletonAddException : System.Exception
{
public override string Message => "添加单例到单例表时遇到错误 (#00006)";
}
public class SingletonGetException : System.Exception
{
public override string Message => "不能从单例表中获取到指定的单例 (#00007)";
}
public class SocketWrongInfoException : System.Exception
{
public override string Message => "收到错误的返回信息 (#00008)";
}
public class SocketCreateListenException : System.Exception
{
public override string Message => "无法创建监听,请重新启动服务器再试 (#00009)";
}
public class SocketGetClientException : System.Exception
{
public override string Message => "无法获取客户端信息 (#00010)";
}
public class ListeningSocketCanNotSendException : System.Exception
{
public override string Message => "监听Socket不能用于发送信息 (#00011)";
}
public class ConnectFailedException : System.Exception
{
public override string Message => "连接到服务器失败 (#00012)";
}
public class LostConnectException : System.Exception
{
public override string Message => "与服务器连接中断 (#00013)";
}
public class FindServerFailedException : System.Exception
{
public override string Message => "查找可用的服务器失败请重启FunGame (#00014)";
}
public class FormHasBeenOpenedException : System.Exception
{
public override string Message => "目标窗口可能已处于打开状态 (#00015)";
}
public class FormCanNotOpenException : System.Exception
{
public override string Message => "无法打开指定窗口 (#00016)";
}
}

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.Others
namespace Milimoe.FunGame.Core.Others
{
internal class Others
{

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.Service
namespace Milimoe.FunGame.Core.Service
{
internal class PluginManager
{

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.Service
namespace Milimoe.FunGame.Core.Service
{
internal class RedisManager
{

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.Service
namespace Milimoe.FunGame.Core.Service
{
internal class ResourceManager
{

View File

@ -1,11 +1,6 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Api.Data;
using Milimoe.FunGame.Core.Api.Data;
using Milimoe.FunGame.Core.Library.Constant;
using System.Text;
namespace Milimoe.FunGame.Core.Service
{

View File

@ -1,14 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Interface.Base;
using System.Collections;
using System.Net.Sockets;
using Milimoe.FunGame.Core.Library.Constant;
using System.Net;
using System.Text.Json;
using Milimoe.FunGame.Core.Library.Constant;
using System.Net.Sockets;
namespace Milimoe.FunGame.Core.Service
{

View File

@ -1,9 +1,4 @@
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.Concurrent;
namespace Milimoe.FunGame.Core.Service
{

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.Desktop.Controller
namespace Milimoe.FunGame.Desktop.Controller
{
public class InventoryController
{

View File

@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Desktop.Library.Interface;
using Milimoe.FunGame.Desktop.Library.Interface;
using Milimoe.FunGame.Desktop.Model;
using Milimoe.FunGame.Desktop.UI;

View File

@ -1,18 +1,8 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Api.Utility;
using Milimoe.FunGame.Core.Library.Common.Event;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Library.Exception;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Desktop.Library;
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
{

View File

@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Desktop.Library.Interface;
using Milimoe.FunGame.Desktop.Library.Interface;
using Milimoe.FunGame.Desktop.Model;
using Milimoe.FunGame.Desktop.UI;

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.Desktop.Controller
namespace Milimoe.FunGame.Desktop.Controller
{
public class RoomSettingController
{

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.Desktop.Controller
namespace Milimoe.FunGame.Desktop.Controller
{
public class StoreController
{

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.Desktop.Controller
namespace Milimoe.FunGame.Desktop.Controller
{
public class UserCenterController
{

View File

@ -1,132 +1,131 @@
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, IConnectEventHandler, IDisconnectEventHandler, ILogoutEventHandler
{
public event IEventHandler.BeforeEventHandler? BeforeConnectEvent;
public event IEventHandler.AfterEventHandler? AfterConnectEvent;
public event IEventHandler.SucceedEventHandler? SucceedConnectEvent;
public event IEventHandler.FailedEventHandler? FailedConnectEvent;
public event IEventHandler.BeforeEventHandler? BeforeConnect;
public event IEventHandler.AfterEventHandler? AfterConnect;
public event IEventHandler.SucceedEventHandler? SucceedConnect;
public event IEventHandler.FailedEventHandler? FailedConnect;
public EventResult OnAfterConnectEvent(GeneralEventArgs e)
{
if (AfterConnectEvent != null)
if (AfterConnect != null)
{
return AfterConnectEvent(this, e);
return AfterConnect(this, e);
}
else return EventResult.NoEventImplement;
}
public EventResult OnBeforeConnectEvent(GeneralEventArgs e)
{
if (BeforeConnectEvent != null)
if (BeforeConnect != null)
{
return BeforeConnectEvent(this, e);
return BeforeConnect(this, e);
}
else return EventResult.NoEventImplement;
}
public EventResult OnSucceedConnectEvent(GeneralEventArgs e)
{
if (SucceedConnectEvent != null)
if (SucceedConnect != null)
{
return SucceedConnectEvent(this, e);
return SucceedConnect(this, e);
}
else return EventResult.NoEventImplement;
}
public EventResult OnFailedConnectEvent(GeneralEventArgs e)
{
if (FailedConnectEvent != null)
if (FailedConnect != null)
{
return FailedConnectEvent(this, e);
return FailedConnect(this, e);
}
else return EventResult.NoEventImplement;
}
public event IEventHandler.BeforeEventHandler? BeforeDisconnectEvent;
public event IEventHandler.AfterEventHandler? AfterDisconnectEvent;
public event IEventHandler.SucceedEventHandler? SucceedDisconnectEvent;
public event IEventHandler.FailedEventHandler? FailedDisconnectEvent;
public event IEventHandler.BeforeEventHandler? BeforeDisconnect;
public event IEventHandler.AfterEventHandler? AfterDisconnect;
public event IEventHandler.SucceedEventHandler? SucceedDisconnect;
public event IEventHandler.FailedEventHandler? FailedDisconnect;
public EventResult OnAfterDisconnectEvent(GeneralEventArgs e)
{
if (AfterDisconnectEvent != null)
if (AfterDisconnect != null)
{
return AfterDisconnectEvent(this, e);
return AfterDisconnect(this, e);
}
else return EventResult.NoEventImplement;
}
public EventResult OnBeforeDisconnectEvent(GeneralEventArgs e)
{
if (BeforeDisconnectEvent != null)
if (BeforeDisconnect != null)
{
return BeforeDisconnectEvent(this, e);
return BeforeDisconnect(this, e);
}
else return EventResult.NoEventImplement;
}
public EventResult OnFailedDisconnectEvent(GeneralEventArgs e)
{
if (FailedDisconnectEvent != null)
if (FailedDisconnect != null)
{
return FailedDisconnectEvent(this, e);
return FailedDisconnect(this, e);
}
else return EventResult.NoEventImplement;
}
public EventResult OnSucceedDisconnectEvent(GeneralEventArgs e)
{
if (SucceedDisconnectEvent != null)
if (SucceedDisconnect != null)
{
return SucceedDisconnectEvent(this, e);
return SucceedDisconnect(this, e);
}
else return EventResult.NoEventImplement;
}
public event IEventHandler.BeforeEventHandler? BeforeLogoutEvent;
public event IEventHandler.AfterEventHandler? AfterLogoutEvent;
public event IEventHandler.SucceedEventHandler? SucceedLogoutEvent;
public event IEventHandler.FailedEventHandler? FailedLogoutEvent;
public event IEventHandler.BeforeEventHandler? BeforeLogout;
public event IEventHandler.AfterEventHandler? AfterLogout;
public event IEventHandler.SucceedEventHandler? SucceedLogout;
public event IEventHandler.FailedEventHandler? FailedLogout;
public EventResult OnAfterLogoutEvent(GeneralEventArgs e)
{
if (AfterLogoutEvent != null)
if (AfterLogout != null)
{
return AfterLogoutEvent(this, e);
return AfterLogout(this, e);
}
else return EventResult.NoEventImplement;
}
public EventResult OnBeforeLogoutEvent(GeneralEventArgs e)
{
if (BeforeLogoutEvent != null)
if (BeforeLogout != null)
{
return BeforeLogoutEvent(this, e);
return BeforeLogout(this, e);
}
else return EventResult.NoEventImplement;
}
public EventResult OnFailedLogoutEvent(GeneralEventArgs e)
{
if (FailedLogoutEvent != null)
if (FailedLogout != null)
{
return FailedLogoutEvent(this, e);
return FailedLogout(this, e);
}
else return EventResult.NoEventImplement;
}
public EventResult OnSucceedLogoutEvent(GeneralEventArgs e)
{
if (SucceedLogoutEvent != null)
if (SucceedLogout != null)
{
return SucceedLogoutEvent(this, e);
return SucceedLogout(this, e);
}
else return EventResult.NoEventImplement;
}

View File

@ -1,10 +1,4 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
namespace Milimoe.FunGame.Desktop.Library.Component
{

View File

@ -89,7 +89,6 @@ namespace Milimoe.FunGame.Desktop.Library.Component
{
RunTime.UserCenter = null;
}
base.Dispose();
}
}
}

View File

@ -1,10 +1,4 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
namespace Milimoe.FunGame.Desktop.Library.Component
{

View File

@ -1,13 +1,4 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Desktop.Library.Component
{

View File

@ -1,12 +1,5 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Milimoe.FunGame.Desktop.Library.Component
{

View File

@ -1,11 +1,4 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Milimoe.FunGame.Desktop.Library.Component
{

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.Desktop.Library
namespace Milimoe.FunGame.Desktop.Library
{
public class Config
{

View File

@ -1,11 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.AccessControl;
using Milimoe.FunGame.Core.Library.Constant;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Api.Utility;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Desktop.Library
{
@ -42,6 +36,11 @@ namespace Milimoe.FunGame.Desktop.Library
public static UI.InventoryUI? Inventory { get; set; } = null;
public static UI.RoomSetting? RoomSetting { get; set; } = null;
public static UI.UserCenter? UserCenter { get; set; } = null;
public static void WritelnSystemInfo(string msg)
{
Main?.GetMessage(msg);
}
}
public class Constant

View File

@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Entity;
namespace Milimoe.FunGame.Desktop.Library
{

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.Desktop.Library.Interface
namespace Milimoe.FunGame.Desktop.Library.Interface
{
public interface ILogin
{

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.Desktop.Library.Interface
namespace Milimoe.FunGame.Desktop.Library.Interface
{
public interface IReg
{

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.Desktop.Model
namespace Milimoe.FunGame.Desktop.Model
{
public class InventoryModel
{

View File

@ -1,10 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Api.Utility;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Library.Exception;
using Milimoe.FunGame.Desktop.Library;
using Milimoe.FunGame.Desktop.Library.Interface;

View File

@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Api.Utility;
using Milimoe.FunGame.Core.Api.Utility;
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Common.Event;
using Milimoe.FunGame.Core.Library.Constant;
@ -78,7 +73,7 @@ namespace Milimoe.FunGame.Desktop.Model
{
ShowMessage.ErrorMessage("查找可用的服务器失败!");
Config.FunGame_isRetrying = false;
throw new Exception("查找可用的服务器失败请重启FunGame。");
throw new FindServerFailedException();
}
}
catch (Exception e)
@ -113,7 +108,7 @@ namespace Milimoe.FunGame.Desktop.Model
// 超过重连次数上限
if (Main.CurrentRetryTimes + 1 > Main.MaxRetryTimes)
{
throw new Exception("无法连接至服务器,请检查网络并重启游戏再试。");
throw new CanNotConnectException();
}
// 与服务器建立连接
Socket?.Close();
@ -141,7 +136,7 @@ namespace Milimoe.FunGame.Desktop.Model
}
Socket?.Close();
Config.FunGame_isRetrying = false;
throw new Exception("无法连接至服务器,请检查网络并重启游戏再试。");
throw new CanNotConnectException();
}
}
else

View File

@ -1,10 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Milimoe.FunGame.Core.Api.Utility;
using Milimoe.FunGame.Desktop.Library;
using Milimoe.FunGame.Desktop.Library;
using Milimoe.FunGame.Desktop.Library.Interface;
using Milimoe.FunGame.Desktop.UI;

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.Desktop.Model
namespace Milimoe.FunGame.Desktop.Model
{
public class RoomSettingModel
{

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.Desktop.Model
namespace Milimoe.FunGame.Desktop.Model
{
public class StoreModel
{

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.Desktop.Model
namespace Milimoe.FunGame.Desktop.Model
{
public class UserCenterModel
{

View File

@ -1,14 +1,4 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Milimoe.FunGame.Desktop.UI
namespace Milimoe.FunGame.Desktop.UI
{
public partial class InventoryUI : Form
{

View File

@ -1,4 +1,4 @@
using Milimoe.FunGame.Desktop.Library;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Desktop.Library.Component;
namespace Milimoe.FunGame.Desktop.UI
@ -535,7 +535,7 @@ namespace Milimoe.FunGame.Desktop.UI
this.Copyright.Size = new System.Drawing.Size(186, 23);
this.Copyright.TabIndex = 97;
this.Copyright.TabStop = true;
this.Copyright.Text = "©2022 Mili.cyou. 米粒的糖果屋";
this.Copyright.Text = FunGameInfo.FunGame_CopyRight;
this.Copyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.Copyright.UseCompatibleTextRendering = true;
this.Copyright.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.Copyright_LinkClicked);

View File

@ -1,15 +1,15 @@
using System.Diagnostics;
using Milimoe.FunGame.Core.Api.Utility;
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Interface;
using Milimoe.FunGame.Core.Library.Common.Event;
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.Desktop.Controller;
using Milimoe.FunGame.Desktop.Library;
using Milimoe.FunGame.Desktop.Library.Base;
using Milimoe.FunGame.Desktop.Library.Component;
using Milimoe.FunGame.Desktop.Utility;
using System.Diagnostics;
namespace Milimoe.FunGame.Desktop.UI
{
@ -78,10 +78,10 @@ namespace Milimoe.FunGame.Desktop.UI
protected override void BindEvent()
{
base.BindEvent();
AfterConnectEvent += AfterConnect;
BeforeConnectEvent += BeforeConnect;
FailedConnectEvent += FailedConnect;
SucceedConnectEvent += SucceedConnect;
AfterConnect += AfterConnectEvent;
BeforeConnect += BeforeConnectEvent;
FailedConnect += FailedConnectEvent;
SucceedConnect += SucceedConnectEvent;
}
#endregion
@ -281,10 +281,10 @@ namespace Milimoe.FunGame.Desktop.UI
string isAutoLogin = INIHelper.ReadINI("Config", "AutoLogin");
if (isAutoConncet != null && !isAutoConncet.Equals("") && (isAutoConncet.Equals("false") || isAutoConncet.Equals("true")))
Config.FunGame_isAutoConnect = Convert.ToBoolean(isAutoConncet);
else throw new Exception("读取配置文件出错,参数格式不正确");
else throw new ReadConfigException();
if (isAutoLogin != null && !isAutoLogin.Equals("") && (isAutoLogin.Equals("false") || isAutoLogin.Equals("true")))
Config.FunGame_isAutoLogin = Convert.ToBoolean(isAutoLogin);
else throw new Exception("读取配置文件出错,参数格式不正确");
else throw new ReadConfigException();
}
else
{
@ -293,7 +293,7 @@ namespace Milimoe.FunGame.Desktop.UI
GetFunGameConfig();
}
}
catch (Exception e)
catch (System.Exception e)
{
WritelnGameInfo(e.GetErrorInfo());
}
@ -1136,7 +1136,7 @@ namespace Milimoe.FunGame.Desktop.UI
/// <param name="sender"></param>
/// <param name="e"></param>
/// <returns></returns>
public EventResult BeforeConnect(object sender, GeneralEventArgs e)
public EventResult BeforeConnectEvent(object sender, GeneralEventArgs e)
{
return EventResult.Success;
}
@ -1147,7 +1147,7 @@ namespace Milimoe.FunGame.Desktop.UI
/// <param name="sender"></param>
/// <param name="e"></param>
/// <returns></returns>
public EventResult AfterConnect(object sender, GeneralEventArgs e)
public EventResult AfterConnectEvent(object sender, GeneralEventArgs e)
{
return EventResult.Success;
}
@ -1158,7 +1158,7 @@ namespace Milimoe.FunGame.Desktop.UI
/// <param name="sender"></param>
/// <param name="e"></param>
/// <returns></returns>
public EventResult FailedConnect(object sender, GeneralEventArgs e)
public EventResult FailedConnectEvent(object sender, GeneralEventArgs e)
{
return EventResult.Success;
}
@ -1169,7 +1169,7 @@ namespace Milimoe.FunGame.Desktop.UI
/// <param name="sender"></param>
/// <param name="e"></param>
/// <returns></returns>
public EventResult SucceedConnect(object sender, GeneralEventArgs e)
public EventResult SucceedConnectEvent(object sender, GeneralEventArgs e)
{
if (MainController != null && Config.FunGame_isAutoLogin)
{

View File

@ -1,14 +1,4 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Milimoe.FunGame.Desktop.UI
namespace Milimoe.FunGame.Desktop.UI
{
public partial class RoomSetting : Form
{

View File

@ -1,14 +1,4 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Milimoe.FunGame.Desktop.UI
namespace Milimoe.FunGame.Desktop.UI
{
public partial class StoreUI : Form
{

View File

@ -1,14 +1,4 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Milimoe.FunGame.Desktop.UI
namespace Milimoe.FunGame.Desktop.UI
{
public partial class UserCenter : Form
{

View File

@ -1,5 +1,6 @@
using Milimoe.FunGame.Core.Api.Utility;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Library.Exception;
using Milimoe.FunGame.Desktop.Library;
using Milimoe.FunGame.Desktop.UI;
@ -7,7 +8,16 @@ namespace Milimoe.FunGame.Desktop.Utility
{
public class OpenForm
{
public static void SingleForm(FormType type, OpenFormType opentype = OpenFormType.General)
/// <summary>
///
/// </summary>
/// <param name="type">窗体类型</param>
/// <param name="opentype">打开类型</param>
/// <param name="objs">构造参数</param>
/// <exception cref="FormHasBeenOpenedException">目标窗口可能已处于打开状态</exception>
public static void SingleForm(FormType type, OpenFormType opentype = OpenFormType.General, params object[]? objs)
{
try
{
Form form = new();
bool IsExist = false;
@ -53,22 +63,34 @@ namespace Milimoe.FunGame.Desktop.Utility
}
if (Singleton.IsExist(form) || IsExist)
{
throw new Exception("目标窗口可能已处于打开状态。");
throw new FormHasBeenOpenedException();
}
else
{
NewSingleForm(form, opentype);
}
}
catch (Exception e)
{
RunTime.WritelnSystemInfo(e.GetErrorInfo());
}
}
private static void NewSingleForm(Form form, OpenFormType opentype)
{
try
{
if (Singleton.Add(form))
{
if (opentype == OpenFormType.Dialog) form.ShowDialog();
else form.Show();
}
else throw new Exception("无法打开指定窗口。");
else throw new FormCanNotOpenException();
}
catch (Exception e)
{
RunTime.WritelnSystemInfo(e.GetErrorInfo());
}
}
}
}