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(); } } 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 = UIHelper.ReplaceLargeArtNum(fightPower); 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(); } 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().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(); }); } } } }