From 3f2cd27c5dfb3b450245bf1a37fc1b3414031c7c Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 11 二月 2026 11:03:58 +0800
Subject: [PATCH] 小游戏适配 资源系统改造

---
 Main/System/HeroUI/HeroHeadBaseCell.cs |   63 +++++++++++++++++++++++++++++++
 1 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/Main/System/HeroUI/HeroHeadBaseCell.cs b/Main/System/HeroUI/HeroHeadBaseCell.cs
index 0a705bd..2104662 100644
--- a/Main/System/HeroUI/HeroHeadBaseCell.cs
+++ b/Main/System/HeroUI/HeroHeadBaseCell.cs
@@ -2,6 +2,7 @@
 using UnityEngine.UI;
 using UnityEngine.Events;
 using System.Collections.Generic;
+using Cysharp.Threading.Tasks;
 
 public class HeroHeadBaseCell : MonoBehaviour
 {
@@ -197,6 +198,68 @@
 
     }
 
+    // 姝﹀皢灏忓ご鍍� Async鐗堟湰
+    public async UniTask InitAsync(int heroID, int skinID, int star = 0, int awakelv = 0, int lv = 0, UnityAction onclick = null)
+    {
+        LoadPrefab();   //瀛樺湪琚嵏杞界殑鍙兘锛岄噸鏂板姞杞�
+        if (onclick != null)
+        {
+            clickBtn.AddListener(onclick);
+        }
+        var heroConfig = HeroConfig.Get(heroID);
+        qualityBG.SetSprite("heroheadBG" + heroConfig.Quality);
+        // int skinID = 0;
+        // if (heroGuid != "")
+        // {
+        //     skinID = HeroManager.Instance.GetHero(heroGuid).SkinID;
+        // }
+        // else
+        // {
+        //     skinID = heroConfig.SkinIDList[0];
+        // }
+        var sprite = await UILoader.LoadSpriteAsync("HeroHead", HeroSkinConfig.Get(skinID).SquareIcon);
+        if (this == null) return;
+        if (sprite == null)
+        {
+            // 鍐呯綉鏈厤缃椂
+            heroIcon.SetSprite("herohead_default");
+        }
+        else
+        {
+            heroIcon.overrideSprite = sprite;
+        }
+
+
+        if (star == 0)
+        {
+            starRect.SetActive(false);
+        }
+        else
+        {
+            starRect.SetActive(true);
+            for (int i = 0; i < starsImg.Count; i++)
+            {
+                if ((star - 1) % starsImg.Count >= i)
+                {
+                    starsImg[i].SetActive(true);
+                    starsImg[i].SetSprite("herostar" + (((star - 1) / starsImg.Count) + 1) * starsImg.Count);
+                }
+                else
+                {
+                    starsImg[i].SetActive(false);
+                }
+            }
+        }
+
+        countryImg.SetSprite(HeroUIManager.Instance.GetCountryIconName(heroConfig.Country));
+        lvText.text = lv == 0 ? "" : Language.Get("L1094") + lv;
+
+        awakeLvRect.SetActive(awakelv > 0);
+        awakeLvText.text = awakelv.ToString();
+
+
+    }
+
     GameObject cellContainer;
     protected void LoadPrefab()
     {

--
Gitblit v1.8.0