Przeglądaj źródła

增加C2G_EnterSceneReady协议,用于在client在准备ok时,向战斗服汇报ready(通过战斗服中转),此后才会收到周围其它单位事件

大爷 2 lat temu
rodzic
commit
2c161ad9b9

+ 15 - 2
Config/Proto/OuterMessage_C_10001.proto

@@ -55,8 +55,21 @@ message G2C_EnterMap // IResponse
 	int32 RpcId = 1;
 	int32 Error = 2;
 	string Message = 3;
-	// 自己unitId
-	int64 MyId = 4;
+	// sceneId
+	int64 SceneId = 4;
+}
+
+//ResponseType G2C_EnterSceneReady
+message C2G_EnterSceneReady // IRequest
+{
+	int32 RpcId = 1;
+}
+
+message G2C_EnterSceneReady // IResponse
+{
+	int32 RpcId = 1;
+	int32 Error = 2;
+	string Message = 3;
 }
 
 message MoveInfo

+ 1 - 1
DotNet/Hotfix/BattleServer/BattleEventHandler.cs

@@ -5,7 +5,7 @@
     {
         protected override async ETTask Run(Session session, BattleEventPushToServer message)
         {
-            Log.Debug("to transfer client battle msg");
+            //Log.Debug("to transfer client battle msg");
 
             var player = session.GetComponent<SessionPlayerComponent>();
             //message.data

+ 1 - 1
DotNet/Hotfix/BattleServer/FastStreamComponentSystem.cs

@@ -65,7 +65,7 @@ namespace ET.Server
         {
             var usrid = (long)pack.Key;
             var data = pack.Data;
-            Log.Debug($"receive fast stream data, uid({usrid}), msglen:{data.Length}");
+            //Log.Debug($"receive fast stream data, uid({usrid}), msglen:{data.Length}");
 
             //找到此unit对应的Player(id相同)
             var player = PlayerComponentSystem.SearchAll(usrid);

+ 2 - 1
DotNet/Hotfix/Demo/Helper/SceneFactory.cs

@@ -1,4 +1,4 @@
-using System.Net;
+using System.Net;
 using System.Net.Sockets;
 
 namespace ET.Server
@@ -31,6 +31,7 @@ namespace ET.Server
                     scene.AddComponent<NetServerComponent, IPEndPoint>(startSceneConfig.InnerIPOutPort);
                     scene.AddComponent<PlayerComponent>();
                     scene.AddComponent<GateTokenInfoComponent>();
+                    scene.AddComponent<ObjectWait>();
                     break;
                 case SceneType.Map:
                     scene.AddComponent<UnitComponent>();

+ 50 - 21
DotNet/Hotfix/Demo/Scenes/Gate/Handler/C2G_EnterMapHandler.cs

@@ -1,12 +1,8 @@
-using MongoDB.Driver;
-using OfficeOpenXml.Drawing.Chart;
+using IceInternal;
 using System;
 using System.Collections.Generic;
-using System.Security.AccessControl;
-using System.Threading.Tasks;
+using System.Text.Json;
 using Unity.Mathematics;
-using static ICSharpCode.SharpZipLib.Zip.ExtendedUnixData;
-
 
 namespace ET.Server
 {
@@ -41,13 +37,13 @@ namespace ET.Server
             GateMapComponent gateMapComponent = player.AddComponent<GateMapComponent>();
 
             //TODO: 先从所有map scene中查找是不是已经存在
-            //TODO: 判断找到的scene人数是否已满等限制
+            //TODO: 判断找到的scene人数是否已满等限制,如果人数超过限制,则需要传送到不同的战斗服
             // 在Gate上动态创建一个Map Scene,把Unit从DB中加载放进来,然后传送到真正的Map中,这样登陆跟传送的逻辑就完全一样了
             var scene = await SceneFactory.CreateServerScene(gateMapComponent, player.Id, IdGenerater.Instance.GenerateInstanceId(), gateMapComponent.DomainZone(), "GateMap", SceneType.Map);
             var scnInstance = scene.InstanceId.ToString();
             gateMapComponent.Scene = scene;
 
-            //TODO: 这里需要从DB或player信息中加载Unit
+            //TODO: DELETE
             UnitComponent unitComponent = scene.GetComponent<UnitComponent>();
             Unit unit = unitComponent.AddChildWithId<Unit, int>(player.Id, 1001);
             unit.AddComponent<MoveComponent>();
@@ -55,9 +51,8 @@ namespace ET.Server
             NumericComponent numericComponent = unit.AddComponent<NumericComponent>();
             numericComponent.Set(NumericType.Speed, 6f); // 速度是6米每秒
             numericComponent.Set(NumericType.AOI, 15000); // 视野15米
-            unit.AddComponent<AOIEntity, int, float3>(9 * 1000, unit.Position);
+            //unit.AddComponent<AOIEntity, int, float3>(9 * 1000, unit.Position);
             unit.AddComponent<UnitGateComponent, long>(session.InstanceId);
-
             //TODO:  m2m transfer unit之后,此unit会dispose,就有bug了
 
             //战斗服===================
@@ -67,15 +62,39 @@ namespace ET.Server
             Log.Info($"Battle ice createZoneRequest ret: {ret}");
 
             //player进入副本,把player基本信息上报给战斗服
-            IceZone.begin_playerEnterRequest(unit.Id.ToString(), scnInstance, toJSON4EnterScene(ref unit)).whenCompleted((Ice.Exception ex) => {
-                Log.Error(ex.Message);
+            IceZone.begin_playerEnterRequest(unit.Id.ToString(), scnInstance, toJSON4EnterScene(ref unit)).whenCompleted(() =>
+            {
+                response.SceneId = scene.InstanceId;
+                reply();
+                WaitPlayerReady(session.DomainScene(), player.Id).Coroutine();
+
+                //TODO:DELETE, 只是将player置入到游戏服的场景管理数据中,并无实际transfer动作。
+                //TODO:删除Map服,战斗服取代了map服地位
+                //TransferHelper.Transfer(unit, startSceneConfig.InstanceId, startSceneConfig.Name).Coroutine();
+            },
+            (Ice.Exception ex) => {
+                if (ex != null)
+                {
+                    Log.Error(ex.Message);
+
+                    //TODO:进入场景失败ErrCode
+                    response.Error = -1;
+                    response.Message = ex.Message;
+                    reply();
+                    return;
+                }
             });
+        }
 
-            response.MyId = player.Id;
-            reply();
+        private async ETTask WaitPlayerReady(Scene scn, long playerid)
+        {
+            //等待client ready消息
+            await scn.GetComponent<ObjectWait>().Wait<Wait_PlayerReady>();
+            //告诉战斗服 i am ready
 
-            // 开始传送
-            await TransferHelper.Transfer(unit, startSceneConfig.InstanceId, startSceneConfig.Name);
+            //设置ice战斗服中player状态为ready
+            var IceXmds = BattleIceAgentComponent.Instance.IceXmdsManager;
+            IceXmds.playerReady(playerid.ToString());
         }
 
         //TODO:按照hotfix--model框架,这段逻辑应该放到modelComponet对应的ComponetSystem中
@@ -105,10 +124,18 @@ namespace ET.Server
         {
             var json = new
             {
-                effects = new { },
+                effects = new {
+                    MaxHP = 666,
+                    HPPer = 1,
+                    HP = 233,
+                    Attack = 5,
+                    AttackPer = 1,
+
+                },
                 effectsExt = new { },
-                skills = new 
-                {
+                skills = new List<SkillInfo>(){
+                    new SkillInfo {id = 110000, level = 1, type = 1, skillTime = 10000, cdTime = 5000, flag = 0 },
+                    new SkillInfo { id = 310000, level = 1, type = 1, skillTime = 10000, cdTime = 5000, flag = 0},
                 },
                 tasks = new { },
                 flags = new { },
@@ -141,7 +168,9 @@ namespace ET.Server
                 {
                     //x = this.getPlayerAreaData().bornX,
                     //y = this.getPlayerAreaData().bornY,
-                    direction = 0,
+                    x = 3,
+                    y = 4,
+                    direction = 0.1,
                     hp = 1000,
                     mp = 0,
                 },
@@ -158,7 +187,7 @@ namespace ET.Server
                     allowAutoGuard = 1,
                 },
             };
-            var retjson = System.Text.Json.JsonSerializer.Serialize(json);
+            var retjson = System.Text.Json.JsonSerializer.Serialize(json, new JsonSerializerOptions { IncludeFields = true });
             Log.Debug("===================================");
             Log.Debug(retjson.ToString());
             Log.Debug("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");

+ 18 - 0
DotNet/Hotfix/Demo/Scenes/Gate/Handler/C2G_EnterSceneReady.cs

@@ -0,0 +1,18 @@
+using System;
+using ET;
+
+namespace ET.Server
+{
+    [MessageHandler(SceneType.Gate)]
+    public class C2G_EnterSceneReadyHandler : AMRpcHandler<C2G_EnterSceneReady, G2C_EnterSceneReady>
+    {
+        protected override async ETTask Run(Session session, C2G_EnterSceneReady request, G2C_EnterSceneReady response, Action reply)
+        {
+            Scene scene = session.DomainScene();
+            scene.GetComponent<ObjectWait>().Notify(new Wait_PlayerReady());
+
+            reply();
+            await ETTask.CompletedTask;
+        }
+    }
+}

+ 11 - 15
DotNet/Hotfix/Demo/Scenes/Gate/Handler/C2G_LoginGateHandler.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Collections.Generic;
 
 namespace ET.Server
 {
@@ -28,21 +29,16 @@ namespace ET.Server
             session.AddComponent<SessionPlayerComponent>().PlayerId = player.Id;
             session.AddComponent<MailBoxComponent, MailboxType>(MailboxType.GateSession);
 
-            response.Player = new ET.Player()
-            {
-                id = "1",
-                uid = "1",
-                name = "nickname",
-                level = 1,
-                exp = 1,
-                vip = 0,
-                hp = 1000,
-                mp = 0,
-                fightPower = 5,
-                gold = 66,
-                diamond = 77,
-                energy = 0,
-            };
+            response.Players = new List<PlayerBasic>(new PlayerBasic[] {
+                new PlayerBasic{
+                    id = "1",
+                    uid = "1",
+                    name = "大爷",
+                    level = 1,
+                    exp = 1,
+                    gold = 66,
+                }
+            });
             reply();
             await ETTask.CompletedTask;
         }

+ 1 - 0
DotNet/Hotfix/Demo/Scenes/Gate/PlayerComponentSystem.cs

@@ -41,6 +41,7 @@ namespace ET.Server
         public static void Remove(this PlayerComponent self, long id)
         {
             self.idPlayers.Remove(id);
+            //TODO: 删除ice战斗服里的player
         }
 
         public static Player[] GetAll(this PlayerComponent self)

+ 7 - 7
DotNet/Hotfix/Demo/Scenes/Map/Transfer/M2M_UnitTransferRequestHandler.cs

@@ -28,16 +28,16 @@ namespace ET.Server
 			unit.AddComponent<MailBoxComponent>();
 
 			// 通知客户端开始切场景
-			M2C_StartSceneChange m2CStartSceneChange = new M2C_StartSceneChange() {SceneInstanceId = scene.InstanceId, SceneName = scene.Name};
-			MessageHelper.SendToClient(unit, m2CStartSceneChange);
+			//M2C_StartSceneChange m2CStartSceneChange = new M2C_StartSceneChange() {SceneInstanceId = scene.InstanceId, SceneName = scene.Name};
+			//MessageHelper.SendToClient(unit, m2CStartSceneChange);
 			
-			// 通知客户端创建My Unit
-			M2C_CreateMyUnit m2CCreateUnits = new M2C_CreateMyUnit();
-			m2CCreateUnits.Unit = UnitHelper.CreateUnitInfo(unit);
-			MessageHelper.SendToClient(unit, m2CCreateUnits);
+			//// 通知客户端创建My Unit
+			//M2C_CreateMyUnit m2CCreateUnits = new M2C_CreateMyUnit();
+			//m2CCreateUnits.Unit = UnitHelper.CreateUnitInfo(unit);
+			//MessageHelper.SendToClient(unit, m2CCreateUnits);
 			
 			// 加入aoi
-			unit.AddComponent<AOIEntity, int, float3>(9 * 1000, unit.Position);
+			//unit.AddComponent<AOIEntity, int, float3>(9 * 1000, unit.Position);
 			
 			// 解锁location,可以接收发给Unit的消息
 			await LocationProxyComponent.Instance.UnLock(unit.Id, request.OldInstanceId, unit.InstanceId);

+ 60 - 33
DotNet/Model/Generate/Message/OuterMessage_C_10001.cs

@@ -112,9 +112,34 @@ namespace ET
 		[ProtoMember(3)]
 		public string Message { get; set; }
 
-// 自己unitId
+// sceneId
 		[ProtoMember(4)]
-		public long MyId { get; set; }
+		public long SceneId { get; set; }
+
+	}
+
+	[ResponseType(nameof(G2C_EnterSceneReady))]
+	[Message(OuterMessage.C2G_EnterSceneReady)]
+	[ProtoContract]
+	public partial class C2G_EnterSceneReady: ProtoObject, IRequest
+	{
+		[ProtoMember(1)]
+		public int RpcId { get; set; }
+
+	}
+
+	[Message(OuterMessage.G2C_EnterSceneReady)]
+	[ProtoContract]
+	public partial class G2C_EnterSceneReady: ProtoObject, IResponse
+	{
+		[ProtoMember(1)]
+		public int RpcId { get; set; }
+
+		[ProtoMember(2)]
+		public int Error { get; set; }
+
+		[ProtoMember(3)]
+		public string Message { get; set; }
 
 	}
 
@@ -575,36 +600,38 @@ namespace ET
 		 public const ushort Actor_TransferResponse = 10007;
 		 public const ushort C2G_EnterMap = 10008;
 		 public const ushort G2C_EnterMap = 10009;
-		 public const ushort MoveInfo = 10010;
-		 public const ushort UnitInfo = 10011;
-		 public const ushort M2C_CreateUnits = 10012;
-		 public const ushort M2C_CreateMyUnit = 10013;
-		 public const ushort M2C_StartSceneChange = 10014;
-		 public const ushort M2C_RemoveUnits = 10015;
-		 public const ushort C2M_PathfindingResult = 10016;
-		 public const ushort M2C_PathfindingResult = 10017;
-		 public const ushort C2M_Stop = 10018;
-		 public const ushort M2C_Stop = 10019;
-		 public const ushort C2G_Ping = 10020;
-		 public const ushort G2C_Ping = 10021;
-		 public const ushort G2C_Test = 10022;
-		 public const ushort C2M_Reload = 10023;
-		 public const ushort M2C_Reload = 10024;
-		 public const ushort C2R_Login = 10025;
-		 public const ushort R2C_Login = 10026;
-		 public const ushort C2G_LoginGate = 10027;
-		 public const ushort G2C_LoginGate = 10028;
-		 public const ushort C2G_CreatePlayer = 10029;
-		 public const ushort G2C_CreatePlayer = 10030;
-		 public const ushort C2G_BindPlayer = 10031;
-		 public const ushort G2C_BindPlayer = 10032;
-		 public const ushort G2C_TestHotfixMessage = 10033;
-		 public const ushort C2M_TestRobotCase = 10034;
-		 public const ushort M2C_TestRobotCase = 10035;
-		 public const ushort C2M_TransferMap = 10036;
-		 public const ushort M2C_TransferMap = 10037;
-		 public const ushort C2G_Benchmark = 10038;
-		 public const ushort G2C_Benchmark = 10039;
-		 public const ushort R2C_Disconnect = 10040;
+		 public const ushort C2G_EnterSceneReady = 10010;
+		 public const ushort G2C_EnterSceneReady = 10011;
+		 public const ushort MoveInfo = 10012;
+		 public const ushort UnitInfo = 10013;
+		 public const ushort M2C_CreateUnits = 10014;
+		 public const ushort M2C_CreateMyUnit = 10015;
+		 public const ushort M2C_StartSceneChange = 10016;
+		 public const ushort M2C_RemoveUnits = 10017;
+		 public const ushort C2M_PathfindingResult = 10018;
+		 public const ushort M2C_PathfindingResult = 10019;
+		 public const ushort C2M_Stop = 10020;
+		 public const ushort M2C_Stop = 10021;
+		 public const ushort C2G_Ping = 10022;
+		 public const ushort G2C_Ping = 10023;
+		 public const ushort G2C_Test = 10024;
+		 public const ushort C2M_Reload = 10025;
+		 public const ushort M2C_Reload = 10026;
+		 public const ushort C2R_Login = 10027;
+		 public const ushort R2C_Login = 10028;
+		 public const ushort C2G_LoginGate = 10029;
+		 public const ushort G2C_LoginGate = 10030;
+		 public const ushort C2G_CreatePlayer = 10031;
+		 public const ushort G2C_CreatePlayer = 10032;
+		 public const ushort C2G_BindPlayer = 10033;
+		 public const ushort G2C_BindPlayer = 10034;
+		 public const ushort G2C_TestHotfixMessage = 10035;
+		 public const ushort C2M_TestRobotCase = 10036;
+		 public const ushort M2C_TestRobotCase = 10037;
+		 public const ushort C2M_TransferMap = 10038;
+		 public const ushort M2C_TransferMap = 10039;
+		 public const ushort C2G_Benchmark = 10040;
+		 public const ushort G2C_Benchmark = 10041;
+		 public const ushort R2C_Disconnect = 10042;
 	}
 }

+ 11 - 0
DotNet/Model/Module/WaitObjectType.cs

@@ -0,0 +1,11 @@
+namespace ET.Server
+{
+    public struct Wait_PlayerReady : IWaitType
+    {
+        public int Error
+        {
+            get;
+            set;
+        }
+    }
+}

+ 11 - 5
Unity/Assets/Scripts/Codes/Hotfix/Client/Login/EnterMapHelper.cs

@@ -1,6 +1,5 @@
 using System;
 
-
 namespace ET.Client
 {
     public static class EnterMapHelper
@@ -11,11 +10,18 @@ namespace ET.Client
             {
                 var param = new C2G_EnterMap() { MapName = mapName };
                 G2C_EnterMap g2CEnterMap = await clientScene.GetComponent<SessionComponent>().Session.Call(param) as G2C_EnterMap;
-                //clientScene.GetComponent<PlayerComponent>().MyId = g2CEnterMap.MyId;
-                
+                if(g2CEnterMap.Error != 0)
+                {
+                    //TODO: Error处理
+                    Log.Error(g2CEnterMap.Message);
+                    return;
+                }
+
+                SceneChangeHelper.SceneChangeTo(clientScene, mapName, g2CEnterMap.SceneId).Coroutine();
                 // 等待场景切换完成
-                //await clientScene.GetComponent<ObjectWait>().Wait<Wait_SceneChangeFinish>();
-                //EventSystem.Instance.Publish(clientScene, new EventType.EnterMapFinish());
+                await clientScene.GetComponent<ObjectWait>().Wait<Wait_SceneChangeFinish>();
+                //告诉战斗服 i am ready
+                clientScene.GetComponent<SessionComponent>().Session.Call(new C2G_EnterSceneReady()).Coroutine();
             }
             catch (Exception e)
             {

+ 0 - 1
Unity/Assets/Scripts/Codes/Hotfix/Client/Scene/SceneChangeHelper.cs

@@ -13,7 +13,6 @@
          
             // 可以订阅这个事件中创建Loading界面
             EventSystem.Instance.Publish(clientScene, new EventType.SceneChangeStart());
-            clientScene.GetComponent<ObjectWait>().Notify(new Wait_SceneChangeFinish());
 
             await ETTask.CompletedTask;
         }

+ 1 - 0
Unity/Assets/Scripts/Codes/HotfixView/Client/Scene/SceneChangeStart_AddComponent.cs

@@ -22,6 +22,7 @@ namespace ET.Client
 
             // 通知等待场景切换的协程
             EventSystem.Instance.Publish<EventType.SceneLoadFinish>();
+            scene.GetComponent<ObjectWait>().Notify(new Wait_SceneChangeFinish());
         }
     }
 }

+ 60 - 33
Unity/Assets/Scripts/Codes/Model/Client/Generate/Message/OuterMessage_C_10001.cs

@@ -112,9 +112,34 @@ namespace ET
 		[ProtoMember(3)]
 		public string Message { get; set; }
 
-// 自己unitId
+// sceneId
 		[ProtoMember(4)]
-		public long MyId { get; set; }
+		public long SceneId { get; set; }
+
+	}
+
+	[ResponseType(nameof(G2C_EnterSceneReady))]
+	[Message(OuterMessage.C2G_EnterSceneReady)]
+	[ProtoContract]
+	public partial class C2G_EnterSceneReady: ProtoObject, IRequest
+	{
+		[ProtoMember(1)]
+		public int RpcId { get; set; }
+
+	}
+
+	[Message(OuterMessage.G2C_EnterSceneReady)]
+	[ProtoContract]
+	public partial class G2C_EnterSceneReady: ProtoObject, IResponse
+	{
+		[ProtoMember(1)]
+		public int RpcId { get; set; }
+
+		[ProtoMember(2)]
+		public int Error { get; set; }
+
+		[ProtoMember(3)]
+		public string Message { get; set; }
 
 	}
 
@@ -575,36 +600,38 @@ namespace ET
 		 public const ushort Actor_TransferResponse = 10007;
 		 public const ushort C2G_EnterMap = 10008;
 		 public const ushort G2C_EnterMap = 10009;
-		 public const ushort MoveInfo = 10010;
-		 public const ushort UnitInfo = 10011;
-		 public const ushort M2C_CreateUnits = 10012;
-		 public const ushort M2C_CreateMyUnit = 10013;
-		 public const ushort M2C_StartSceneChange = 10014;
-		 public const ushort M2C_RemoveUnits = 10015;
-		 public const ushort C2M_PathfindingResult = 10016;
-		 public const ushort M2C_PathfindingResult = 10017;
-		 public const ushort C2M_Stop = 10018;
-		 public const ushort M2C_Stop = 10019;
-		 public const ushort C2G_Ping = 10020;
-		 public const ushort G2C_Ping = 10021;
-		 public const ushort G2C_Test = 10022;
-		 public const ushort C2M_Reload = 10023;
-		 public const ushort M2C_Reload = 10024;
-		 public const ushort C2R_Login = 10025;
-		 public const ushort R2C_Login = 10026;
-		 public const ushort C2G_LoginGate = 10027;
-		 public const ushort G2C_LoginGate = 10028;
-		 public const ushort C2G_CreatePlayer = 10029;
-		 public const ushort G2C_CreatePlayer = 10030;
-		 public const ushort C2G_BindPlayer = 10031;
-		 public const ushort G2C_BindPlayer = 10032;
-		 public const ushort G2C_TestHotfixMessage = 10033;
-		 public const ushort C2M_TestRobotCase = 10034;
-		 public const ushort M2C_TestRobotCase = 10035;
-		 public const ushort C2M_TransferMap = 10036;
-		 public const ushort M2C_TransferMap = 10037;
-		 public const ushort C2G_Benchmark = 10038;
-		 public const ushort G2C_Benchmark = 10039;
-		 public const ushort R2C_Disconnect = 10040;
+		 public const ushort C2G_EnterSceneReady = 10010;
+		 public const ushort G2C_EnterSceneReady = 10011;
+		 public const ushort MoveInfo = 10012;
+		 public const ushort UnitInfo = 10013;
+		 public const ushort M2C_CreateUnits = 10014;
+		 public const ushort M2C_CreateMyUnit = 10015;
+		 public const ushort M2C_StartSceneChange = 10016;
+		 public const ushort M2C_RemoveUnits = 10017;
+		 public const ushort C2M_PathfindingResult = 10018;
+		 public const ushort M2C_PathfindingResult = 10019;
+		 public const ushort C2M_Stop = 10020;
+		 public const ushort M2C_Stop = 10021;
+		 public const ushort C2G_Ping = 10022;
+		 public const ushort G2C_Ping = 10023;
+		 public const ushort G2C_Test = 10024;
+		 public const ushort C2M_Reload = 10025;
+		 public const ushort M2C_Reload = 10026;
+		 public const ushort C2R_Login = 10027;
+		 public const ushort R2C_Login = 10028;
+		 public const ushort C2G_LoginGate = 10029;
+		 public const ushort G2C_LoginGate = 10030;
+		 public const ushort C2G_CreatePlayer = 10031;
+		 public const ushort G2C_CreatePlayer = 10032;
+		 public const ushort C2G_BindPlayer = 10033;
+		 public const ushort G2C_BindPlayer = 10034;
+		 public const ushort G2C_TestHotfixMessage = 10035;
+		 public const ushort C2M_TestRobotCase = 10036;
+		 public const ushort M2C_TestRobotCase = 10037;
+		 public const ushort C2M_TransferMap = 10038;
+		 public const ushort M2C_TransferMap = 10039;
+		 public const ushort C2G_Benchmark = 10040;
+		 public const ushort G2C_Benchmark = 10041;
+		 public const ushort R2C_Disconnect = 10042;
 	}
 }

+ 0 - 1
Unity/Assets/Scripts/Codes/Model/Share/EventType.cs

@@ -9,6 +9,5 @@ namespace ET
         public struct AfterCreateCurrentScene { }
         public struct AppStartInitFinish { }
         public struct LoginFinish { }
-        public struct EnterMapFinish { }
     }
 }