From 81018a57144a3ed68634102a3406bb63b27fa9dd Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 29 一月 2026 15:44:02 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/System/ViewNPC/ViewNPCManager.cs |   50 ++++++++++++++++++++------------------------------
 1 files changed, 20 insertions(+), 30 deletions(-)

diff --git a/Main/System/ViewNPC/ViewNPCManager.cs b/Main/System/ViewNPC/ViewNPCManager.cs
index f6a8b42..9460ebf 100644
--- a/Main/System/ViewNPC/ViewNPCManager.cs
+++ b/Main/System/ViewNPC/ViewNPCManager.cs
@@ -34,6 +34,7 @@
     private void ResetPendingState()
     {
         isPendingOpen = false;
+        viewNPCAttr = null;
         pendingData.isMySide = false;
         pendingData.funcLineID = 0;
         pendingData.mapID = 0;
@@ -51,7 +52,11 @@
         // 鑷繁鐨勬暟鎹洿鎺ヨ鑳屽寘
         if (data.isMySide)
         {
-            OpenNPCDetailWin(pendingData, null);
+            OtherPlayerDetailManager.Instance.OpenOtherHeroDetailWin(new ViewHeroDetailData()
+            {
+                viewHeroType = 0,
+                clickHeroData = data,
+            });
             return;
         }
 
@@ -71,7 +76,7 @@
         // 灏濊瘯鐩存帴浠庣紦瀛樿幏鍙栨暟鎹�
         if (TryGetNPCAttr((uint)data.mapID, (uint)data.funcLineID, (uint)data.npcID, out ViewNPCAttr attr))
         {
-            OpenNPCDetailWin(pendingData, attr);
+            OpenNPCDetailWin(attr);
         }
         else
         {
@@ -108,40 +113,24 @@
         int posNum = pendingData.posNum + 1;
         if (!heroData.ContainsKey(posNum))
             return;
-        OtherPlayerDetailManager.Instance.viewHeroType = 0;
-        OtherPlayerDetailManager.Instance.clickHeroData = pendingData;
-        OtherPlayerDetailManager.Instance.heroData = heroData[posNum];
-        OtherPlayerDetailManager.Instance.heroDatas = heroList;
 
-        if (!UIManager.Instance.IsOpened<OtherHeroDetailWin>())
+        OtherPlayerDetailManager.Instance.OpenOtherHeroDetailWin(new ViewHeroDetailData()
         {
-            UIManager.Instance.OpenWindow<OtherHeroDetailWin>();
-        }
+            viewHeroType = 0,
+            clickHeroData = pendingData,
+            heroData = heroData[posNum],
+            heroDatas = heroList,
+        });
     }
 
-
-    private void OpenNPCDetailWin(BattleClickHeroData data, ViewNPCAttr npcAttr)
+    public ViewNPCAttr viewNPCAttr;
+    private void OpenNPCDetailWin(ViewNPCAttr viewNPCAttr)
     {
-        OtherPlayerDetailManager.Instance.viewHeroType = 0;
-        OtherPlayerDetailManager.Instance.clickHeroData = data;
-        OtherPlayerDetailManager.Instance.viewNPCAttr = npcAttr;
-
-        if (data.isMySide)
+        this.viewNPCAttr = viewNPCAttr;
+        if (!UIManager.Instance.IsOpened<OtherNPCDetailWin>())
         {
-            if (!UIManager.Instance.IsOpened<OtherHeroDetailWin>())
-            {
-                UIManager.Instance.OpenWindow<OtherHeroDetailWin>();
-            }
+            UIManager.Instance.OpenWindow<OtherNPCDetailWin>();
         }
-        else
-        {
-            if (!UIManager.Instance.IsOpened<OtherNPCDetailWin>())
-            {
-                UIManager.Instance.OpenWindow<OtherNPCDetailWin>();
-            }
-        }
-
-
     }
 
     // --- 瑙f瀽灞炴�у瓧鍏� ---
@@ -231,7 +220,7 @@
             {
                 if (TryGetNPCAttr((uint)pendingData.mapID, (uint)pendingData.funcLineID, (uint)pendingData.npcID, out ViewNPCAttr targetAttr))
                 {
-                    OpenNPCDetailWin(pendingData, targetAttr);
+                    OpenNPCDetailWin(targetAttr);
                 }
                 // 澶勭悊瀹屾瘯锛岄噸缃姸鎬�
                 ResetPendingState();
@@ -277,6 +266,7 @@
     }
 }
 
+
 public class ViewNPCAttr
 {
     public byte PosNum;        // 鍦ㄦ湰闃靛涓殑绔欎綅锛屼粠1寮�濮�

--
Gitblit v1.8.0