using System.Collections.Generic;
|
using UnityEngine;
|
|
namespace vnxbqy.UI
|
{
|
public class PhantasmPavilionItem : MonoBehaviour
|
{
|
[SerializeField] TextEx txtFaceName;
|
[SerializeField] ButtonEx btnChoose;
|
[SerializeField] ImageEx imgChoose;
|
[SerializeField] ImageEx imgState;
|
[SerializeField] ImageEx imgFace;
|
[SerializeField] ImageEx imgLimitTime;//ÏÞʱÎïÆ·±êʶ
|
[SerializeField] TextEx txtState;
|
[SerializeField] TextEx txtTime;
|
[SerializeField] UIEffect uiEffect;
|
[SerializeField] RedpointBehaviour redpointBehaviour;
|
|
[SerializeField] GameObject StarGroup;
|
[SerializeField] List<ImageEx> starList = new List<ImageEx>(); //ÐÇÐÇÏÔʾÒþ²Ø starListºÍstarShowListÊýÁ¿Ò»ÖÂ
|
[SerializeField] List<ImageEx> starShowList = new List<ImageEx>(); //ÐÇÐÇÊÇÁÁÊǰµ
|
PhantasmPavilionModel model { get { return ModelCenter.Instance.GetModel<PhantasmPavilionModel>(); } }
|
private int id;
|
|
public void Display(int id)
|
{
|
this.id = id;
|
PhantasmPavilionTab tab = model.selectTab;
|
redpointBehaviour.redpointId = (MainRedDot.PhantasmPavilionRepoint * 10 + (int)model.selectTab + 1) * 1000 + id;
|
int unLockState = model.GetUnLockState(tab, id);// 0 - δ¼¤»î 1 - ¿É¼¤»î 2 - ÒѼ¤»î
|
bool isLimitTime = model.IsLimitTime(tab, id);
|
bool isUsing = model.IsUsing(tab, id);
|
bool isInfo = model.TryGetInfo(tab, id, out var info);
|
bool isUnlockDefault = model.GetUnlockDefault(tab, id) == 1;
|
bool isMaxStarLV = model.TryGetMaxStarLV(tab, id, out int maxStar);
|
imgChoose.SetActive(model.selectItemId == id);
|
imgState.SetActive(unLockState == 0 || unLockState == 1 || isUsing);
|
txtTime.SetActive(isLimitTime && (isInfo && unLockState == 2 || isUnlockDefault));
|
StarGroup.SetActive(isInfo && isMaxStarLV && unLockState == 2);
|
imgLimitTime.SetActive(isLimitTime);
|
|
txtState.text = isUsing ? Language.Get("TreasureSkillWin__20") : Language.Get("KnapS144");
|
txtState.colorType = isUsing ? TextColType.Green : TextColType.Red;
|
txtFaceName.text = model.GetName(tab, id);
|
|
model.ShowImage(tab, id, imgFace);
|
|
uiEffect.Stop();
|
if (model.TryGetEffectID(tab, id, out int effectID))
|
{
|
uiEffect.effect = effectID;
|
uiEffect.Play();
|
}
|
|
int subTime = 0;
|
if (info != null)
|
{
|
subTime = (int)(info.EndTime - TimeUtility.AllSeconds);
|
}
|
txtTime.text = Language.Get("FairyEmblem03", !isLimitTime ? Language.Get("PhantasmPavilion03") : TimeUtility.SecondsToDHMSCHS(subTime));
|
|
int star = 0;
|
if (info != null)
|
star = info.Star;
|
for (int i = 0; i < starList.Count; i++)
|
{
|
starList[i].SetActive(i < maxStar && i < starList.Count);
|
starShowList[i].SetActive(i < star && i < starList.Count);
|
}
|
model.SetStarColor(star, starShowList);
|
|
btnChoose.SetListener(OnClickChoose);
|
}
|
|
private void OnClickChoose()
|
{
|
if (model.selectItemId == id)
|
return;
|
model.selectItemId = id;
|
}
|
}
|
}
|