From 431c17a1b8f1ec3112c84e03cbc872d201e8969c Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 15 九月 2025 15:31:09 +0800
Subject: [PATCH] 0312 资源临时放UI目录处理

---
 Main/System/SkillUI/SkillBaseCell.cs |   40 ++++++++++++++++++++++++++++++++++------
 1 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/Main/System/SkillUI/SkillBaseCell.cs b/Main/System/SkillUI/SkillBaseCell.cs
index 1e1b161..b284c46 100644
--- a/Main/System/SkillUI/SkillBaseCell.cs
+++ b/Main/System/SkillUI/SkillBaseCell.cs
@@ -50,15 +50,32 @@
         LoadPrefab();
     }
 
-    private void Init(int skillID, UnityAction onclick, bool showType = false)
+    public void Init(int skillID, UnityAction onclick = null, bool showType = false)
     {
+        LoadPrefab();   //瀛樺湪琚嵏杞界殑鍙兘锛岄噸鏂板姞杞�
         var config = SkillConfig.Get(skillID);
-        skillIcon.SetSprite(config.IconName);
-        skillBtn.AddListener(onclick);
+        if (config == null)
+        {
+            Debug.LogErrorFormat("鎶�鑳芥湭閰嶇疆 : {0}", skillID);
+            return;
+        }
+        skillIcon.SetOrgSprite(config.IconName, "SkillIcon");
+#if UNITY_EDITOR
+        if (string.IsNullOrEmpty(config.IconName))
+        { 
+            //鍐呯綉娴嬭瘯
+            skillIcon.SetOrgSprite("skillicondefault", "SkillIcon");
+        }
+#endif
+        
+        skillBtn.AddListener(()=>
+        {
+            onclick?.Invoke();
+        });
 
         if (showType)
         {
-            skillType.text = Language.Get(config.FuncType == 23 ? "HeroSkillType_1" : "HeroSkillType_2");
+            skillType.text = Language.Get(config.FuncType == 1 ? "HeroSkillType_1" : "HeroSkillType_2");
         }
         else
         { 
@@ -93,8 +110,19 @@
         var scale = 1f;
         var rect = cellContainer.GetComponent<RectTransform>();
         var parentRect = transform.GetComponent<RectTransform>();
-        scale = parentRect.sizeDelta.x / rect.sizeDelta.x;
-        cellContainer.transform.localScale = new Vector3(scale, scale, scale);
+        float width = parentRect.sizeDelta.x;
+        if (width <= 0f)
+        {
+            //澶栭儴鎺у埗浜嗗昂瀵歌幏鍙栦负0
+            GridLayoutGroup grid = GetComponentInParent<GridLayoutGroup>();
+            if (grid != null)
+            { 
+                width = grid.cellSize.x;
+            }
+            
+        }
+        scale = width / rect.sizeDelta.x;
+        cellContainer.transform.localScale = cellContainer.transform.localScale * scale;
     }
 }
 

--
Gitblit v1.8.0