using UnityEngine;
|
using UnityEngine.UI;
|
|
public class PhantasmPavilionModelItem : MonoBehaviour
|
{
|
[SerializeField] EllipseMask mask;
|
[SerializeField] ImageEx imgBg;
|
[SerializeField] ImageEx imgFace;
|
[SerializeField] Button btnChoose;
|
|
[SerializeField] ImageEx imgLimit;
|
[SerializeField] ImageEx imgLock;
|
[SerializeField] ImageEx imgChoose;
|
[SerializeField] ImageEx imgCanUnlock;
|
[SerializeField] TextEx txtUsing;
|
[SerializeField] Image imgRed;
|
|
readonly PhantasmPavilionType type = PhantasmPavilionType.Model;
|
int id;
|
PhantasmPavilionManager manager { get { return PhantasmPavilionManager.Instance; } }
|
public void Display(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 = UILoader.LoadSprite("HeroHead", skinConfig.SquareIcon);
|
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(model.FaceBg);
|
|
manager.UpdateItemRedPoint(imgRed, type, id);
|
}
|
}
|