Explorar o código

【优化】添加单位接口

johnclot69 hai 1 ano
pai
achega
5487c757ed

+ 10 - 4
DotNet/Hotfix/Scenes/Game/Handler/C2G_AddUnitsToMapHandler.cs

@@ -39,12 +39,18 @@ namespace ET.Server
             Struct.MonsterUnit unit = new Struct.MonsterUnit();
             unit.id = prop.Id;
             unit.force = request.Force;
-            unit.flag = request.Flag;
-            unit.x = request.X;
-            unit.y = request.Y;
+            if (!string.IsNullOrEmpty(request.Flag))
+            {
+                unit.flag = request.Flag;
+            }
+            else
+            {
+                unit.x = request.X;
+                unit.y = request.Y;
+            }
             unit.autoGuard = true;
 
-            await player.Map.AddUnitsToMap(unit, false);
+            await player.Map.AddUnits(unit, false);
 
             reply();
         }

+ 9 - 0
DotNet/Hotfix/Scenes/Game/Handler/C2G_EnterMapHandler.cs

@@ -63,6 +63,15 @@ namespace ET.Server
 
             // player.OnEndEnterScene();
 
+            // 测试添加单位
+            // Struct.MonsterUnit unit = new Struct.MonsterUnit();
+            // unit.id = 101;
+            // unit.force = (int)AreaForce.MONSTER;
+            // unit.x = 5;
+            // unit.y = 12;
+            // unit.autoGuard = true;
+            // await player.Map.AddUnits(unit, false);
+
             await ETTask.CompletedTask;
         }
     }

+ 5 - 6
DotNet/Hotfix/Scenes/Game/Map/MapSystem.cs

@@ -157,11 +157,11 @@ namespace ET.Server
         public static async ETTask<int> AddUnits(this Map self, string instanceId, string data)
         {
             await ETTask.CompletedTask;
-            return self.GetXmdsManager().addUnits(instanceId.Trim(), data);
+            return self.GetXmdsManager().addUnits(instanceId, data);
         }
 
         /** 创建单位 **/
-        public static async ETTask<int> AddUnitsToMap(this Map self, Struct.MonsterUnit unit, bool needReturn)
+        public static async ETTask<int> AddUnits(this Map self, Struct.MonsterUnit unit, bool needReturn)
         {
             List<Struct.MonsterUnit> listData = new List<Struct.MonsterUnit>();
             listData.Add(unit);
@@ -170,14 +170,13 @@ namespace ET.Server
 
             if (needReturn) {
                 addUnitsResult = self.GetXmdsManager().addUnits(self.Id.ToString().Trim(), JsonConvert.SerializeObject(listData, Formatting.Indented));
+                Log.Info($"addUnits needReturn : mapId={self.MapId}, instanceId={self.Id.ToString().Trim()}, data={listData}, add units result={addUnitsResult}");
             } else
             {
-                int objId = await self.AddUnits(self.Id.ToString().Trim(), "");
-                Log.Info($"addUnitsToArea: mapId={self.MapId}, instanceId={self.Id.ToString().Trim()}, objId={objId}");
+                int objId = await self.AddUnits(self.Id.ToString().Trim(), JsonConvert.SerializeObject(listData, Formatting.Indented));
+                Log.Info($"addUnits: mapId={self.MapId}, instanceId={self.Id.ToString().Trim()}, objId={objId}");
             }
 
-            Log.Info($"addUnitsToArea: mapId={self.MapId}, instanceId={self.Id.ToString().Trim()}, data={listData}, add units result={addUnitsResult}");
-
             return addUnitsResult;
         }
 

+ 2 - 11
DotNet/Hotfix/Scenes/Game/Player/SessionPlayerComponentSystem.cs

@@ -10,7 +10,8 @@ namespace ET.Server
         {
             protected override void Awake(SessionPlayerComponent self)
             {
-                self?.Init();
+                self.PlayerList = new List<PlayerInfo>();
+                self.PlayerId = 0;
             }
         }
 
@@ -46,16 +47,6 @@ namespace ET.Server
             }
         }
 
-        /// <summary>
-        /// 初始化数据
-        /// </summary>
-        /// <param name="self"></param>
-        public static void Init(this SessionPlayerComponent self)
-        {
-            self.PlayerList = new List<PlayerInfo>();
-            self.PlayerId = 0;
-        }
-
         /// <summary>
         /// 是否存在
         /// </summary>