From eb27e5fd31f73b998a4bbd85511a31e40b8c61b7 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 21 十一月 2025 17:03:47 +0800
Subject: [PATCH] 0312 关闭游戏内日志

---
 Main/System/HeroUI/HeroScenePosCell.cs |   37 ++++++++++++++++++++++++++++++-------
 1 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/Main/System/HeroUI/HeroScenePosCell.cs b/Main/System/HeroUI/HeroScenePosCell.cs
index 2cc5cd1..79090b5 100644
--- a/Main/System/HeroUI/HeroScenePosCell.cs
+++ b/Main/System/HeroUI/HeroScenePosCell.cs
@@ -20,33 +20,39 @@
     [SerializeField] DragItem dragObj;
     [SerializeField] Transform objForfly;  //鐐瑰嚮椋炲叆鐨勬椂鍊欑殑鏄鹃殣鎺у埗
 
-    public void Display(string guid, int index, bool isFly = false)
+
+    public void Display(string guid, int index, bool isFly = false, bool showSuggest = false)
     {
         var hero = HeroManager.Instance.GetHero(guid);
         this.transform.localScale = Vector3.one;
 
         lvText.text = Language.Get("L1099", hero.heroLevel);
         var heroConfig = hero.heroConfig;
-        countryImg.SetSprite("herocountry" + heroConfig.Country);
-        heroModel.Create(heroConfig.SkinIDList[hero.SkinIndex]);
+        countryImg.SetSprite(HeroUIManager.Instance.GetCountryIconName(heroConfig.Country));
+        heroModel.Create(heroConfig.SkinIDList[hero.SkinIndex], heroConfig.UIScale);
 
         nameText.text = hero.breakLevel == 0 ? heroConfig.Name : Language.Get("herocardbreaklv", heroConfig.Name, hero.breakLevel);
         posCircleImg.SetSprite("heroposcircle" + heroConfig.Quality);
 
         //涓嶆槸鎺ㄨ崘浣嶅垯鎻愮ず
-        if (heroConfig.AtkDistType == 1 && TeamConst.TeamPos2Array.Contains(index) ||
-            heroConfig.AtkDistType == 2 && TeamConst.TeamPos1Array.Contains(index))
+        //  if (heroConfig.Position == 1 && TeamConst.TeamPos2Array.Contains(index) ||
+        //     heroConfig.Position == 2 && TeamConst.TeamPos1Array.Contains(index))
+        if (showSuggest)
         {
             suggestForm.SetActive(true);
-            jobTip.text = Language.Get("heroClass" + heroConfig.Class);
-            posTip.text = Language.Get("heroAtkDistType" + heroConfig.AtkDistType);
+            jobTip.text = HeroUIManager.Instance.GetJobName(heroConfig.Class);
+            posTip.text = Language.Get("heroAtkDistType" + heroConfig.Position);
         }
         else
         {
             suggestForm.SetActive(false);
         }
 
+        dragObj.pos = index;
+        dragObj.onEndDragEvent -= SwitchPos;
         dragObj.onEndDragEvent += SwitchPos;
+        dragObj.canvas.sortingLayerID =  dragObj.parentCanvas.sortingLayerID;
+        dragObj.canvas.sortingOrder = dragObj.parentCanvas.sortingOrder + index + 1;
 
         heroBtn.AddListener(() =>
         {
@@ -72,6 +78,23 @@
     void SwitchPos(int pos1, int pos2)
     {
         Debug.Log("浜ゆ崲浣嶇疆:" + pos1 + "   " + pos2);
+        var team = TeamManager.Instance.GetTeam(HeroUIManager.Instance.selectTeamType);
+        if (pos2 == -1)
+        {
+            //涓嬮樀
+            team.RemoveHero(pos1);
+            HeroUIManager.Instance.NotifyOnTeamPosChangeEvent(new List<int>() { pos1 }, -2, Vector3.zero);
+        }
+        else if (pos1 == pos2)
+        { 
+            HeroUIManager.Instance.NotifyOnTeamPosChangeEvent(new List<int>() { pos1 }, -2, Vector3.zero);
+        }
+        else
+        {
+            //閫氱煡鍒锋柊
+            team.SwapPosition(pos1, pos2);
+            HeroUIManager.Instance.NotifyOnTeamPosChangeEvent(new List<int>() { pos1, pos2 }, -2, Vector3.zero);
+        }
     }
 
     async UniTask DelayShow()

--
Gitblit v1.8.0