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