mirror of
https://github.com/project-redbud/FunGame-Core.git
synced 2025-12-05 16:16:33 +00:00
删除了EnumHelper,更新Socket部分
This commit is contained in:
parent
00504d65da
commit
ec4e6dd780
@ -1,60 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Milimoe.FunGame.Core.Library.Constant;
|
|
||||||
|
|
||||||
namespace Milimoe.FunGame.Core.Api.Utility
|
|
||||||
{
|
|
||||||
public class EnumHelper
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 获取实现类类名
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="Interface">接口代号</param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static string GetImplementClassName(int Interface)
|
|
||||||
{
|
|
||||||
foreach (string str in Enum.GetNames(typeof(InterfaceType)))
|
|
||||||
{
|
|
||||||
InterfaceType temp = (InterfaceType)Enum.Parse(typeof(InterfaceType), Interface.ToString(), true);
|
|
||||||
if (temp.ToString() == str)
|
|
||||||
return temp + "Impl";
|
|
||||||
}
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取实现类的方法名
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="Method">方法代号</param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static string GetImplementMethodName(int Method)
|
|
||||||
{
|
|
||||||
foreach (string str in Enum.GetNames(typeof(InterfaceMethod)))
|
|
||||||
{
|
|
||||||
InterfaceMethod temp = (InterfaceMethod)Enum.Parse(typeof(InterfaceMethod), Method.ToString(), true);
|
|
||||||
if (temp.ToString() == str)
|
|
||||||
return temp.ToString();
|
|
||||||
}
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取Socket枚举名
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="SocketType">Socket枚举</param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static string GetSocketTypeName(int SocketType)
|
|
||||||
{
|
|
||||||
foreach (string str in Enum.GetNames(typeof(SocketMessageType)))
|
|
||||||
{
|
|
||||||
SocketMessageType temp = (SocketMessageType)Enum.Parse(typeof(SocketMessageType), SocketType.ToString(), true);
|
|
||||||
if (temp.ToString() == str)
|
|
||||||
return temp.ToString();
|
|
||||||
}
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -67,7 +67,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Network
|
|||||||
{
|
{
|
||||||
object[] result = SocketManager.Receive();
|
object[] result = SocketManager.Receive();
|
||||||
if (result.Length != 2) throw new System.Exception("收到错误的返回信息。");
|
if (result.Length != 2) throw new System.Exception("收到错误的返回信息。");
|
||||||
if ((string)result[0] == SocketSet.HeartBeat)
|
if ((SocketMessageType)result[0] == SocketMessageType.HeartBeat)
|
||||||
{
|
{
|
||||||
if (WaitHeartBeatReply != null && !WaitHeartBeatReply.IsCompleted) WaitHeartBeatReply.Wait(1);
|
if (WaitHeartBeatReply != null && !WaitHeartBeatReply.IsCompleted) WaitHeartBeatReply.Wait(1);
|
||||||
HeartBeatFaileds = 0;
|
HeartBeatFaileds = 0;
|
||||||
|
|||||||
@ -168,7 +168,7 @@ namespace Milimoe.FunGame.Core.Service
|
|||||||
Library.Common.Network.JsonObject? json = Library.Common.Network.JsonObject.GetObject(msg);
|
Library.Common.Network.JsonObject? json = Library.Common.Network.JsonObject.GetObject(msg);
|
||||||
if (json != null)
|
if (json != null)
|
||||||
{
|
{
|
||||||
result[0] = GetTypeString(json.MessageType);
|
result[0] = json.MessageType;
|
||||||
result[1] = json.Parameters;
|
result[1] = json.Parameters;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
@ -196,7 +196,7 @@ namespace Milimoe.FunGame.Core.Service
|
|||||||
Library.Common.Network.JsonObject? json = Library.Common.Network.JsonObject.GetObject(msg);
|
Library.Common.Network.JsonObject? json = Library.Common.Network.JsonObject.GetObject(msg);
|
||||||
if (json != null)
|
if (json != null)
|
||||||
{
|
{
|
||||||
result[0] = GetTypeString(json.MessageType);
|
result[0] = json.MessageType;
|
||||||
result[1] = json.Parameters;
|
result[1] = json.Parameters;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@ -208,7 +208,7 @@ namespace Milimoe.FunGame.Desktop.Model
|
|||||||
{
|
{
|
||||||
return Socket.Receive();
|
return Socket.Receive();
|
||||||
}
|
}
|
||||||
return new object[2] { SocketSet.Unknown, Array.Empty<object>() };
|
return new object[2] { SocketMessageType.Unknown, Array.Empty<object>() };
|
||||||
}
|
}
|
||||||
|
|
||||||
private SocketMessageType Receiving()
|
private SocketMessageType Receiving()
|
||||||
@ -218,59 +218,40 @@ namespace Milimoe.FunGame.Desktop.Model
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
object[] ServerMessage = GetServerMessage();
|
object[] ServerMessage = GetServerMessage();
|
||||||
string type = (string)ServerMessage[0];
|
SocketMessageType type = (SocketMessageType)ServerMessage[0];
|
||||||
object[] objs = (object[])ServerMessage[1];
|
object[] objs = (object[])ServerMessage[1];
|
||||||
string msg = "";
|
|
||||||
|
result = type;
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case SocketSet.GetNotice:
|
case SocketMessageType.Connect:
|
||||||
result = SocketMessageType.GetNotice;
|
SocketHandle_Connect(objs);
|
||||||
if (objs.Length > 0) msg = (string)objs[0];
|
|
||||||
Config.FunGame_Notice = msg;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SocketSet.Connect:
|
case SocketMessageType.GetNotice:
|
||||||
result = SocketMessageType.Connect;
|
SocketHandle_GetNotice(objs);
|
||||||
if (objs.Length > 0) msg = (string)objs[0];
|
|
||||||
string[] strings = msg.Split(';');
|
|
||||||
string ServerName = strings[0];
|
|
||||||
string ServerNotice = strings[1];
|
|
||||||
Config.FunGame_ServerName = ServerName;
|
|
||||||
Config.FunGame_Notice = ServerNotice;
|
|
||||||
Main?.GetMessage($"已连接服务器:{ServerName}。\n\n********** 服务器公告 **********\n\n{ServerNotice}\n\n");
|
|
||||||
// 设置等待登录的黄灯
|
|
||||||
Main?.UpdateUI(MainControllerSet.WaitLoginAndSetYellow);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SocketSet.Login:
|
case SocketMessageType.Login:
|
||||||
result = SocketMessageType.Login;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SocketSet.CheckLogin:
|
case SocketMessageType.CheckLogin:
|
||||||
result = SocketMessageType.CheckLogin;
|
SocketHandle_CheckLogin(objs);
|
||||||
if (objs.Length > 0) msg = (string)objs[0];
|
|
||||||
Main?.GetMessage(msg);
|
|
||||||
Main?.UpdateUI(MainControllerSet.SetUser, true, TimeType.TimeOnly, new object[] { Factory.New<User>(msg) });
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SocketSet.Logout:
|
case SocketMessageType.Logout:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SocketSet.Disconnect:
|
case SocketMessageType.Disconnect:
|
||||||
result = SocketMessageType.Disconnect;
|
SocketHandle_Disconnect(objs);
|
||||||
if (objs.Length > 0) msg = (string)objs[0];
|
|
||||||
Main?.GetMessage(msg);
|
|
||||||
Main?.UpdateUI(MainControllerSet.Disconnected);
|
|
||||||
Close();
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SocketSet.HeartBeat:
|
case SocketMessageType.HeartBeat:
|
||||||
result = SocketMessageType.HeartBeat;
|
if (Socket.Connected && Usercfg.LoginUser != null)
|
||||||
if (Usercfg.LoginUser != null)
|
|
||||||
Main?.UpdateUI(MainControllerSet.SetGreenAndPing);
|
Main?.UpdateUI(MainControllerSet.SetGreenAndPing);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SocketSet.Unknown:
|
case SocketMessageType.Unknown:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -282,7 +263,46 @@ namespace Milimoe.FunGame.Desktop.Model
|
|||||||
Main?.UpdateUI(MainControllerSet.Disconnected);
|
Main?.UpdateUI(MainControllerSet.Disconnected);
|
||||||
Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SocketHandle_Connect(object[] objs)
|
||||||
|
{
|
||||||
|
string msg = "";
|
||||||
|
if (objs.Length > 0) msg = (string)objs[0];
|
||||||
|
string[] strings = msg.Split(';');
|
||||||
|
string ServerName = strings[0];
|
||||||
|
string ServerNotice = strings[1];
|
||||||
|
Config.FunGame_ServerName = ServerName;
|
||||||
|
Config.FunGame_Notice = ServerNotice;
|
||||||
|
Main?.GetMessage($"已连接服务器:{ServerName}。\n\n********** 服务器公告 **********\n\n{ServerNotice}\n\n");
|
||||||
|
// 设置等待登录的黄灯
|
||||||
|
Main?.UpdateUI(MainControllerSet.WaitLoginAndSetYellow);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SocketHandle_GetNotice(object[] objs)
|
||||||
|
{
|
||||||
|
if (objs.Length > 0) Config.FunGame_Notice = (string)objs[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SocketHandle_CheckLogin(object[] objs)
|
||||||
|
{
|
||||||
|
string msg = "";
|
||||||
|
// 返回的objs是该Login的User对象的各个属性
|
||||||
|
if (objs.Length > 0) msg = (string)objs[0];
|
||||||
|
Main?.GetMessage(msg);
|
||||||
|
Main?.UpdateUI(MainControllerSet.SetUser, true, TimeType.TimeOnly, new object[] { Factory.New<User>(msg) });
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SocketHandle_Disconnect(object[] objs)
|
||||||
|
{
|
||||||
|
string msg = "";
|
||||||
|
if (objs.Length > 0) msg = (string)objs[0];
|
||||||
|
Main?.GetMessage(msg);
|
||||||
|
Main?.UpdateUI(MainControllerSet.Disconnected);
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user