Explorar o código

添加id判断&代码优化风格统一。 (#435)

Co-authored-by: v587 <>
anjiev5 %!s(int64=2) %!d(string=hai) anos
pai
achega
46b21b99ea

+ 2 - 4
Unity/Assets/Scripts/Codes/Hotfix/Server/Demo/Scenes/Map/Unit/UnitEnterSightRange_NotifyClient.cs

@@ -13,15 +13,13 @@
                 return;
             }
 
-            Unit ua = a.GetParent<Unit>();
+            Unit ua = a.Unit;
             if (ua.Type != UnitType.Player)
             {
                 return;
             }
 
-            Unit ub = b.GetParent<Unit>();
-
-            MessageHelper.NoticeUnitAdd(ua, ub);
+            MessageHelper.NoticeUnitAdd(ua, b.Unit);
             
             await ETTask.CompletedTask;
         }

+ 10 - 3
Unity/Assets/Scripts/Codes/Hotfix/Server/Demo/Scenes/Map/Unit/UnitLeaveSightRange_NotifyClient.cs

@@ -6,15 +6,22 @@
     {
         protected override async ETTask Run(Scene scene, EventType.UnitLeaveSightRange args)
         {
-            await ETTask.CompletedTask;
             AOIEntity a = args.A;
             AOIEntity b = args.B;
-            if (a.Unit.Type != UnitType.Player)
+            if (a.Id == b.Id)
+            {
+                return;
+            }
+            
+            Unit ua = a.Unit;
+            if (ua.Type != UnitType.Player)
             {
                 return;
             }
 
-            MessageHelper.NoticeUnitRemove(a.GetParent<Unit>(), b.GetParent<Unit>());
+            MessageHelper.NoticeUnitRemove(ua, b.Unit);
+            
+            await ETTask.CompletedTask;
         }
     }
 }

+ 4 - 0
Unity/Assets/Scripts/Codes/Hotfix/Server/Module/AOI/AOIEntitySystem.cs

@@ -94,6 +94,10 @@ namespace ET.Server
         // enter进入self视野
         public static void EnterSight(this AOIEntity self, AOIEntity enter)
         {
+            if (self.Id == enter.Id)
+            {
+                return;
+            }
             // 有可能之前在Enter,后来出了Enter还在LeaveCell,这样仍然没有删除,继续进来Enter,这种情况不需要处理
             if (self.SeeUnits.ContainsKey(enter.Id))
             {