//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, May 14, 2019
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class TreasureSkillLevelUpWin : Window
|
{
|
[SerializeField] Text m_SkillLevel;
|
[SerializeField] Text m_SkillLevelNext;
|
[SerializeField] Text m_SkillCoolDown;
|
[SerializeField] Text m_SkillDesc;
|
[SerializeField] ItemBehaviour m_Item;
|
[SerializeField] Text m_ItemCount;
|
[SerializeField] Button m_LevelUp;
|
[SerializeField] Button m_Close;
|
|
public static int skillId = 0;
|
|
TreasureSkillModel model { get { return ModelCenter.Instance.GetModel<TreasureSkillModel>(); } }
|
#region Built-in
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
m_LevelUp.AddListener(LevelUp);
|
m_Close.AddListener(CloseClick);
|
}
|
|
protected override void OnPreOpen()
|
{
|
Display();
|
|
model.treasureSkillRefresh += TreasureSkillRefresh;
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
model.treasureSkillRefresh -= TreasureSkillRefresh;
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
|
private void Display()
|
{
|
TreasureSkill treasureSkill;
|
model.TryGetSkill(skillId, out treasureSkill);
|
var level = treasureSkill.level + 1;
|
|
m_SkillLevel.text = treasureSkill.level.ToString();
|
m_SkillLevelNext.text = level.ToString();
|
|
var skillConfig = treasureSkill.GetSkillConfig(level);
|
m_SkillCoolDown.text = skillConfig.CoolDownTime == 0 ? string.Empty
|
: Language.Get("L1065", skillConfig.CoolDownTime / 1000);
|
m_SkillDesc.text = skillConfig.Description;
|
|
m_Item.SetItem(skillConfig.ExAttr4, skillConfig.ExAttr5);
|
|
var _itemCnt = ModelCenter.Instance.GetModel<PackModel>().GetItemCountByID(PackType.Item, skillConfig.ExAttr4);
|
m_ItemCount.text = StringUtility.Contact(UIHelper.AppendColor(_itemCnt >= skillConfig.ExAttr5 ?
|
TextColType.Green : TextColType.Red, _itemCnt.ToString(), true)
|
, "/", skillConfig.ExAttr5);
|
}
|
|
|
private void LevelUp()
|
{
|
var error = 0;
|
if (model.TryLevelUpTreasureSkillEx(skillId, out error))
|
{
|
var pak = new C0304_tagCAddSkillPoint();
|
pak.SkillID = (ushort)skillId;
|
GameNetSystem.Instance.SendInfo(pak);
|
}
|
else
|
{
|
if (error == 2)
|
{
|
TreasureSkill treasureSkill;
|
model.TryGetSkill(skillId, out treasureSkill);
|
var level = treasureSkill.level + 1;
|
var skillConfig = treasureSkill.GetSkillConfig(level);
|
ItemTipUtility.Show(skillConfig.ExAttr4);
|
//model.DisplayLevelUpError(error);
|
}
|
}
|
}
|
|
private void TreasureSkillRefresh(int id)
|
{
|
if (skillId == id)
|
{
|
TreasureSkill skill;
|
if (model.TryGetSkill(skillId, out skill))
|
{
|
bool isMax = skill.level >= skill.maxLevel;
|
if (isMax)
|
{
|
CloseClick();
|
}
|
else
|
{
|
Display();
|
}
|
}
|
}
|
}
|
}
|
|
}
|
|
|
|
|