From 1503afaa0a68776a36259d0f9e231830f87a26c0 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 25 十一月 2025 15:49:30 +0800
Subject: [PATCH] 0312 定制装备图标显示等级,定制tip显示统一接口,非掉落获得装备立即弹框

---
 Main/System/KnapSack/PackManager.cs            |   11 +++
 Main/System/DayMission/SignManager.cs          |    1 
 Main/System/KnapSack/New/CommonItemBaisc.cs    |   10 +++
 Main/System/FirstCharge/FirstChargeDayAward.cs |   24 +------
 Main/System/ItemTip/ItemTipUtility.cs          |   44 +++++++++-----
 Main/System/KnapSack/New/ItemCell.cs           |    7 +
 Main/System/Equip/EquipTipWin.cs               |   49 +++++++---------
 7 files changed, 77 insertions(+), 69 deletions(-)

diff --git a/Main/System/DayMission/SignManager.cs b/Main/System/DayMission/SignManager.cs
index 3f5f9bd..b23eeba 100644
--- a/Main/System/DayMission/SignManager.cs
+++ b/Main/System/DayMission/SignManager.cs
@@ -52,6 +52,7 @@
         {
             RightFuncInHome.ListenWindowEx("SignWin");
             PopupWindowsProcessor.Instance.Add("SignWin");
+            UpdateRedpoint();
         }
     }
 
diff --git a/Main/System/Equip/EquipTipWin.cs b/Main/System/Equip/EquipTipWin.cs
index 942df61..c12924e 100644
--- a/Main/System/Equip/EquipTipWin.cs
+++ b/Main/System/Equip/EquipTipWin.cs
@@ -31,21 +31,31 @@
     AppointItemConfig customEquipAppointItemConfig;
     protected override void OnPreOpen()
     {
-        bool isShowCustomEquip = ItemTipUtility.isShowCustomEquip;
-        if (isShowCustomEquip)
+        if (ItemTipUtility.mainTipData.appointID != 0)
         {
-            int customEquipItemId = ItemTipUtility.customEquipItemId;
-            int customEquipAppointItemId = ItemTipUtility.customEquipAppointItemId;
+            int customEquipItemId = ItemTipUtility.mainTipData.itemId;
+            int customEquipAppointItemId = ItemTipUtility.mainTipData.appointID;
             if (!ItemConfig.HasKey(customEquipItemId))
+            {
+                DelayCloseWindow().Forget();
                 return;
+            }
             if (!AppointItemConfig.HasKey(customEquipAppointItemId))
+            {
+                DelayCloseWindow().Forget();
                 return;
+            }
             customEquipItemConfig = ItemConfig.Get(customEquipItemId);
             customEquipAppointItemConfig = AppointItemConfig.Get(customEquipAppointItemId);
             Display(customEquipItemConfig, customEquipAppointItemConfig);
         }
         else
         {
+            if (string.IsNullOrEmpty(ItemTipUtility.mainTipData.guid))
+            {
+                DelayCloseWindow().Forget();
+                return;
+            }
             equip = PackManager.Instance.GetItemByGuid(ItemTipUtility.mainTipData.guid);
             Display(equip);
         }
@@ -56,15 +66,14 @@
         //鍏堢缉灏忥紝杩欐牱涓嶄細鍥犱负闂撮殧甯т骇鐢熸槑鏄剧殑闂儊
         uieffect.transform.localScale = Vector3.zero;
 
-        bool isShowCustomEquip = ItemTipUtility.isShowCustomEquip;
-        if (isShowCustomEquip)
+        if (ItemTipUtility.mainTipData.appointID != 0)
         {
-            RefreshEffect(customEquipItemConfig).Forget();
+            RefreshEffect(customEquipItemConfig.ItemColor).Forget();
         }
         else
         {
             //鐗规晥鏄剧ず渚濊禆rect鐨勬帓鐗堬紝鏀惧湪涓嬩竴甯�
-            RefreshEffect(equip).Forget();
+            RefreshEffect(equip.config.ItemColor).Forget();
         }
 
     }
@@ -72,6 +81,8 @@
     protected override void OnPreClose()
     {
         equip = null;
+        customEquipItemConfig = null;
+        customEquipAppointItemConfig = null;
     }
 
     public void Display(ItemModel equip)
@@ -186,10 +197,10 @@
 
     }
     //寤惰繜澶勭悊鐗规晥澶у皬
-    async UniTask RefreshEffect(ItemModel equip)
+    async UniTask RefreshEffect(int itemColor)
     {
         await UniTask.DelayFrame(3);
-        int effectID = EquipModel.Instance.equipUIEffects[Math.Min(equip.config.ItemColor, EquipModel.Instance.equipUIEffects.Length) - 1];
+        int effectID = EquipModel.Instance.equipUIEffects[Math.Min(itemColor, EquipModel.Instance.equipUIEffects.Length) - 1];
         if (effectID == 0)
         {
             uieffect.Stop();
@@ -203,23 +214,7 @@
         }
     }
 
-    //寤惰繜澶勭悊鐗规晥澶у皬
-    async UniTask RefreshEffect(ItemConfig itemConfig)
-    {
-        await UniTask.DelayFrame(3);
-        int effectID = EquipModel.Instance.equipUIEffects[Math.Min(itemConfig.ItemColor, EquipModel.Instance.equipUIEffects.Length) - 1];
-        if (effectID == 0)
-        {
-            uieffect.Stop();
-        }
-        else
-        {
-            uieffect.effectId = effectID;
-            //璁$畻楂樺害缂╂斁姣斾緥 鐗规晥鏄剧ず渚濊禆rect鐨勬帓鐗�
-            uieffect.transform.localScale = new Vector3(0.98f, bgRect.rect.height / uieffect.GetComponent<RectTransform>().rect.height, 1);
-            uieffect.Play();
-        }
-    }
+    
 
 }
 
diff --git a/Main/System/FirstCharge/FirstChargeDayAward.cs b/Main/System/FirstCharge/FirstChargeDayAward.cs
index 4191a6f..a14922f 100644
--- a/Main/System/FirstCharge/FirstChargeDayAward.cs
+++ b/Main/System/FirstCharge/FirstChargeDayAward.cs
@@ -121,7 +121,7 @@
     private void ShowAwardsForCount1(int[][] awardList, int awardState, int firstId)
     {
         transCount1.SetActive(true);
-        itemCellCount1.Init(new ItemCellModel((int)awardList[0][0], true, awardList[0][1]));
+        itemCellCount1.Init(new ItemCellModel((int)awardList[0][0], true, awardList[0][1]), awardList[0][2]);
         itemCellCount1.button.SetListener(() => HandleItemClick((int)awardList[0][0], awardList[0][2]));
         imgHaveCount1.SetActive(awardState == 0);
     }
@@ -165,24 +165,8 @@
     /// <param name="itemId">鐗╁搧ID</param>
     private void HandleItemClick(int itemId, int customEquipId)
     {
-        if (!ItemConfig.HasKey(itemId))
-            return;
-        if (ItemConfig.Get(itemId).Type == 150)
-        {
-            FirstChargeManager.Instance.heroItemID = itemId;
-            UIManager.Instance.OpenWindow<FirstChargeHeroInfoWin>();
-        }
-        else if (ItemConfig.Get(itemId).Type >= 101 &&
-                ItemConfig.Get(itemId).Type <= 117 &&
-                customEquipId > 0 &&
-                AppointItemConfig.HasKey(customEquipId))
-        {
-            ItemTipUtility.ShowCustomEquip(itemId, customEquipId);
-        }
-        else
-        {
-            ItemTipUtility.Show(itemId);
-        }
+
+        ItemTipUtility.Show(itemId, false, customEquipId);
     }
 
     /// <summary>
@@ -201,7 +185,7 @@
             {
                 int index = i; // Lambda琛ㄨ揪寮忎腑浣跨敤锛岄渶瑕佸垱寤哄眬閮ㄥ壇鏈�
                 itemCells[i].SetActive(true);
-                itemCells[i].Init(new ItemCellModel((int)awardList[i][0], true, awardList[i][1]));
+                itemCells[i].Init(new ItemCellModel((int)awardList[i][0], true, awardList[i][1]), awardList[index][2]);
                 itemCells[i].button.SetListener(() => HandleItemClick((int)awardList[index][0], awardList[index][2]));
             }
             else
diff --git a/Main/System/ItemTip/ItemTipUtility.cs b/Main/System/ItemTip/ItemTipUtility.cs
index 180b884..45b1aa2 100644
--- a/Main/System/ItemTip/ItemTipUtility.cs
+++ b/Main/System/ItemTip/ItemTipUtility.cs
@@ -19,12 +19,14 @@
         BoxItem,    //瀹濈闅忔満鐗╁搧
         BoxChooseItem,    //瀹濈鑷�夌墿鍝�
         TreasurePavilion, //鍙ゅ疂鐗╁搧锛堢鐗囷級
+        Hero,   //姝﹀皢
     }
 
     public class TipData
     {
         public string guid;
         public int itemId;
+        public int appointID;
         public int goodId;
         public int exchangeItemId;  //閮ㄥ垎鐣岄潰瑕佸姩鎬佸彉鍖栫墿鍝佺殑鎯呭喌
 
@@ -204,6 +206,7 @@
         public bool isAuctionEquip;
         public LegendProperty legendProperty;
         public int score;
+        public int appointID; //瀹氬埗瑁呭
     }
 
     // static PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
@@ -238,7 +241,7 @@
 
 
     //showGetWay 鏄惁鑾峰彇閫斿緞鐣岄潰
-    public static void Show(int itemId, bool showGetWay = false)
+    public static void Show(int itemId, bool showGetWay = false, int _appointID = 0)
     {
         if (!ItemConfig.HasKey(itemId))
         {
@@ -249,7 +252,8 @@
         Show(new ItemViewInfo()
         {
             itemId = itemId,
-            unfoldGetWay = showGetWay
+            unfoldGetWay = showGetWay,
+            appointID = _appointID
         });
     }
 
@@ -271,6 +275,19 @@
         switch (tipType)
         {
             case TipType.Equip:
+                // 鏉ユ簮鏃犳硶纭畾鐨勶紝娌℃湁GUID鐨勶紝1.瀹氬埗 2.濡傚鍔辫幏寰楀睍绀�
+                mainTipData = new TipData()
+                {
+                    itemId = itemId,
+                    appointID = item.appointID,
+                };
+
+                // 瑁呭榛樿浼氭帀鍦ㄦ帀钀借儗鍖呴噷
+                if (item.appointID == 0)
+                {
+                    mainTipData.guid = PackManager.Instance.GetItemGUIDByID(itemId, true, PackType.DropItem);
+                }
+
                 // mainTipData = CreateNormalEquipData(itemId);
                 // if (item.isAuctionEquip && !item.legendProperty.Equals(default(LegendProperty)))
                 // {
@@ -307,13 +324,16 @@
         switch (tipType)
         {
             case TipType.Equip:
-                // WindowCenter.Instance.Open<EquipTipWin>();
+                UIManager.Instance.OpenWindow<EquipTipWin>();
                 break;
 
             // case TipType.PetMount:
             //      WindowCenter.Instance.Open<PetMountTipWin>();
             //     break;
-
+            case TipType.Hero:
+                FirstChargeManager.Instance.heroItemID = itemId;
+                UIManager.Instance.OpenWindow<FirstChargeHeroInfoWin>();
+                break;
             case TipType.BoxItem:
                 UIManager.Instance.OpenWindow<BoxItemWin>();
                 break;
@@ -349,6 +369,7 @@
                 switch (packType)
                 {
                     case PackType.Equip:
+                    case PackType.DropItem:
                         mainTipData = new TipData() { guid = guid };
                         break;
                     default:
@@ -386,7 +407,6 @@
         switch (tipType)
         {
             case TipType.Equip:
-                isShowCustomEquip = false;
                 UIManager.Instance.OpenWindow<EquipTipWin>();
                 break;
             // case TipType.PetMount:
@@ -408,16 +428,6 @@
                 break;
         }
 
-    }
-    public static bool isShowCustomEquip = false;
-    public static int customEquipItemId;
-    public static int customEquipAppointItemId;
-    public static void ShowCustomEquip(int itemId, int appointItemId)
-    {
-        customEquipItemId = itemId;
-        customEquipAppointItemId = appointItemId;
-        isShowCustomEquip = true;
-        UIManager.Instance.OpenWindow<EquipTipWin>();
     }
 
 
@@ -1656,12 +1666,12 @@
             case 111:
             case 112:
                 return TipType.Equip;
-            // case 26:
-            // case 41:
             // case 42:
             //     return TipType.PetMount;
             case 147:
                 return TipType.TreasurePavilion;
+            case 150:
+                return TipType.Hero;
             default:
                 return TipType.Item;
         }
diff --git a/Main/System/KnapSack/New/CommonItemBaisc.cs b/Main/System/KnapSack/New/CommonItemBaisc.cs
index cc6484d..3f0adfb 100644
--- a/Main/System/KnapSack/New/CommonItemBaisc.cs
+++ b/Main/System/KnapSack/New/CommonItemBaisc.cs
@@ -275,8 +275,16 @@
             countText.SetActive(true);
             countText.text = count > 1000000 ? UIHelper.ReplaceLargeNum(count / 100.0f) : (count / 100.0f).ToString("0.#");
         }
+        else if (config.EquipPlace != 0)
+        {
+            var realItem = PackManager.Instance.GetItemByID(PackType.DropItem, itemId);
+            if (realItem != null)
+            {
+                countText.text = Language.Get("L1113", EquipModel.Instance.GetEquipLV(realItem));
+            }
+        }
         else if (!string.IsNullOrEmpty(guid))
-        { 
+        {
             if (GeneralDefine.itemMoneyCountDict.ContainsKey(itemId))
             {
                 //灞曠ず璐у竵鏁伴噺鐨勭墿鍝�
diff --git a/Main/System/KnapSack/New/ItemCell.cs b/Main/System/KnapSack/New/ItemCell.cs
index 6602211..2de7598 100644
--- a/Main/System/KnapSack/New/ItemCell.cs
+++ b/Main/System/KnapSack/New/ItemCell.cs
@@ -13,10 +13,13 @@
 
     }
 
-    public override void Init(ItemCellModel model)
+    public void Init(ItemCellModel model, int appointID = 0)
     {
         base.Init(model);
-
+        if (appointID > 0)
+        {
+            countText.text = Language.Get("L1113", AppointItemConfig.Get(appointID).ItemLV);
+        }
     }
 }
 
diff --git a/Main/System/KnapSack/PackManager.cs b/Main/System/KnapSack/PackManager.cs
index d538894..8856c34 100644
--- a/Main/System/KnapSack/PackManager.cs
+++ b/Main/System/KnapSack/PackManager.cs
@@ -226,7 +226,7 @@
         
         DelayNotifyPackChange(type);
         //EquipDecomRedCtrl();
-        AutoUseItem(itemInfo.itemId, serverItem.ItemGUID);
+        AutoUseItem(serverItem);
     }
 
 
@@ -400,12 +400,19 @@
         }
     }
 
-    void AutoUseItem(int itemID, string guid)
+    //鑾峰緱鐗╁搧鍚庣殑澶勭悊
+    void AutoUseItem(H0704_tagRolePackRefresh serverItem)
     {
         // if (autoUseItemIDs.Contains(itemID))
         // {
         //     ItemOperateUtility.Instance.GotoUseItem(guid);
         // }
+
+        //濡傛灉鏄叾浠栭�斿緞缁欑殑瑁呭
+        if (serverItem.socketType == ServerType.Main && serverItem.PackType == (int)PackType.DropItem)
+        {
+            EquipModel.Instance.CalcFloorEquip(serverItem.ItemPlace);
+        }
     }
 
 

--
Gitblit v1.8.0