using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
public class FairyTreasureCollectPanelPattern6 : FairyTreasureCollect
|
{
|
[SerializeField] Image m_SkillIcon;
|
[SerializeField] Text m_SkillName;
|
[SerializeField] Button m_SkillButton;
|
[SerializeField] ExpertSkillWidget[] m_ExpertSkills;
|
[SerializeField] PositionTween m_PositionTween;
|
|
int levelBuf = -1;
|
|
TreasureSkillModel treasureSkillModel { get { return ModelCenter.Instance.GetModel<TreasureSkillModel>(); } }
|
|
public override void Display(int _treasureId, bool _tween = false)
|
{
|
base.Display(_treasureId, _tween);
|
if (!model.TryGetTreasure(_treasureId, out treasure))
|
{
|
return;
|
}
|
|
#region Tween
|
if (_tween)
|
{
|
m_PositionTween.Play();
|
}
|
else
|
{
|
m_PositionTween.SetEndState();
|
}
|
#endregion
|
|
m_SkillButton.SetListener(OnClickSkill);
|
|
m_GotoBtnText.text = Language.Get("FairyTreasureGotoBuy");
|
|
if (model.fairyTreasureGetDict.ContainsKey(treasure.id))
|
{
|
m_LockedDescription.text = Language.Get("FairyTreasure_1", model.fairyTreasureGetDict[_treasureId]);
|
}
|
|
var fightPower = model.GetTreasureFightPower(_treasureId);
|
m_FightPower.text = fightPower.ToString();
|
|
var skillId = treasure.skillId;
|
var skillConfig = SkillConfig.Get(skillId);
|
m_SkillIcon.SetSprite(skillConfig.IconName);
|
m_SkillName.text = skillConfig.SkillName;
|
|
TreasureSkill treasureSkill;
|
if (treasureSkillModel.TryGetSkill(skillId, out treasureSkill))
|
{
|
for (int i = 0; i < m_ExpertSkills.Length; i++)
|
{
|
if (i < treasureSkill.potentials.Count)
|
{
|
m_ExpertSkills[i].Display(treasureSkill.potentials[i].id);
|
}
|
}
|
}
|
}
|
|
private void OnClickSkill()
|
{
|
HumanTreasureSkillDetailWin.treasureId = treasureId;
|
WindowCenter.Instance.Open<HumanTreasureSkillDetailWin>();
|
}
|
|
public override void Dispose()
|
{
|
base.Dispose();
|
}
|
|
protected sealed override void OnTreasureStateChange(int _treasureId)
|
{
|
if (treasure.id != _treasureId)
|
{
|
return;
|
}
|
}
|
|
protected sealed override void GotoGet()
|
{
|
ModelCenter.Instance.GetModel<VipModel>().gotoVipLv = model.fairyTreasureGetDict[treasureId];
|
WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.VipRechargeFunc4);
|
}
|
|
[Serializable]
|
public class ExpertSkillWidget
|
{
|
[SerializeField] Image m_ReikiIcon;
|
[SerializeField] Image m_SkillIcon;
|
[SerializeField] Text m_SkillName;
|
[SerializeField] Button m_Func;
|
|
public void Display(int skillId)
|
{
|
var skillConfig = SkillConfig.Get(skillId);
|
var property = skillConfig.RequireProperty();
|
m_ReikiIcon.SetSprite("XT_LGDT_" + property);
|
m_SkillIcon.SetSprite(skillConfig.IconName);
|
m_SkillName.text = skillConfig.SkillName;
|
m_Func.SetListener(() =>
|
{
|
ExpertSkillSelectWin.skillId = skillId;
|
WindowCenter.Instance.Open<ExpertSkillSelectWin>();
|
});
|
}
|
}
|
}
|
}
|