yyl
2026-02-11 3f2cd27c5dfb3b450245bf1a37fc1b3414031c7c
Main/System/PhantasmPavilion/PhantasmPavilionModelItem.cs
@@ -1,5 +1,6 @@
using 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);
    }
}