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

---
 Main/System/PhantasmPavilion/PhantasmPavilionModelItem.cs |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)

diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionModelItem.cs b/Main/System/PhantasmPavilion/PhantasmPavilionModelItem.cs
index 87cbd41..76c099f 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionModelItem.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionModelItem.cs
@@ -1,5 +1,6 @@
 锘縰sing UnityEngine;
 using UnityEngine.UI;
+using Cysharp.Threading.Tasks;
 
 public class PhantasmPavilionModelItem : MonoBehaviour
 {
@@ -60,4 +61,48 @@
 
         manager.UpdateItemRedPoint(imgRed, type, id);
     }
+
+    public async UniTask DisplayAsync(int id)
+    {
+        this.id = id;
+        btnChoose.SetListener(() =>
+        {
+            manager.selectId = id;
+        });
+
+        PhantasmPavilionState state = manager.GetUnLockState(type, id);
+        bool isLimitedTime = manager.IsLimitTime(type, id);
+        bool isUsing = manager.IsUsing(type, id);
+        imgChoose.SetActive(manager.selectId == id);
+        imgLimit.SetActive(state == PhantasmPavilionState.Activated && isLimitedTime);
+        imgLock.SetActive(state != PhantasmPavilionState.Activated);
+        imgCanUnlock.SetActive(state == PhantasmPavilionState.CanActivate);
+        txtUsing.SetActive(state == PhantasmPavilionState.Activated && isUsing);
+
+        if (!ModelConfig.HasKey(id))
+            return;
+        ModelConfig model = ModelConfig.Get(id);
+        int skinID = model.SkinID;
+        if (!HeroSkinConfig.HasKey(skinID))
+            return;
+        HeroSkinConfig skinConfig = HeroSkinConfig.Get(skinID);
+        var sprite = await UILoader.LoadSpriteAsync("HeroHead", skinConfig.SquareIcon);
+        if (this == null) return;
+        if (sprite == null)
+        {
+            // 鍐呯綉鏈厤缃椂
+            imgFace.SetSprite("herohead_default");
+        }
+        else
+        {
+            imgFace.overrideSprite = sprite;
+        }
+
+        int resourceType = manager.GetResourceType(type, id);
+        string resourceValue = manager.GetResourceValue(type, id);
+
+        imgBg.SetSprite(manager.GetModelBgColorStr(id));
+
+        manager.UpdateItemRedPoint(imgRed, type, id);
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0