using UnityEngine;
|
|
namespace vnxbqy.UI
|
{
|
public class FairyEmblemItem : MonoBehaviour
|
{
|
[SerializeField] ImageEx imgEmblem;
|
[SerializeField] ImageEx imgState;
|
[SerializeField] ImageEx imgChoose;
|
[SerializeField] TextEx txtState;
|
[SerializeField] ButtonEx btnUse;
|
[SerializeField] ButtonEx btnChoose;
|
[SerializeField] UIEffect uiEffect;
|
int emblemId;
|
FairyEmblemModel model { get { return ModelCenter.Instance.GetModel<FairyEmblemModel>(); } }
|
|
public void Display(int emblemId)
|
{
|
this.emblemId = emblemId;
|
if (!FamilyEmblemConfig.Has(emblemId))
|
return;
|
FamilyEmblemConfig config = FamilyEmblemConfig.Get(emblemId);
|
|
bool isUnLock = model.IsUnLock(emblemId);
|
bool isUsing = model.IsUsing(emblemId);
|
bool isLimitTime = model.IsLimitTime(emblemId, out var familyAction);
|
|
btnUse.SetActive(isUnLock && !isUsing && model.IsCaptain());
|
imgChoose.SetActive(emblemId == model.nowChooseEmblemId);
|
imgState.SetActive(!isUnLock || isUsing);
|
|
uiEffect.Stop();
|
if (model.TryGetEffectID(emblemId, out int effectID))
|
{
|
uiEffect.effect = effectID;
|
uiEffect.Play();
|
}
|
|
txtState.text = isUsing ? Language.Get("TreasureSkillWin__20") : Language.Get("KnapS144");
|
txtState.colorType = isUsing ? TextColType.Green : TextColType.Red;
|
model.ShowEmblem(emblemId, imgEmblem, 0.8f);
|
btnChoose.SetListener(OnChooseClick);
|
btnUse.SetListener(OnUseClick);
|
}
|
|
private void OnUseClick()
|
{
|
if (!model.IsCaptain())
|
{
|
SysNotifyMgr.Instance.ShowTip("FairyEmblem01");
|
return;
|
}
|
model.SendCA413ChangeFamilyEmblemPack(emblemId);
|
}
|
|
private void OnChooseClick()
|
{
|
model.nowChooseEmblemId = emblemId;
|
}
|
}
|
}
|