//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Thursday, March 15, 2018
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
|
using System;
|
|
namespace vnxbqy.UI
|
{
|
public class FairyTreasureCollectPanelPattern2 : FairyTreasureCollect
|
{
|
[SerializeField] Text m_TreasureLevel;
|
[SerializeField] Slider m_Exp;
|
[SerializeField] Text m_ExpProgress;
|
[SerializeField] Text m_Current;
|
[SerializeField] Text m_Next;
|
|
[SerializeField] PositionTween m_SkillTween;
|
[SerializeField] PositionTween m_RightTween;
|
|
int levelBuf = -1;
|
|
public override void Display(int _treasureId, bool _tween = false)
|
{
|
base.Display(_treasureId, _tween);
|
if (!model.TryGetTreasure(_treasureId, out treasure))
|
{
|
return;
|
}
|
|
if (_tween)
|
{
|
m_SkillTween.Play();
|
m_RightTween.Play();
|
}
|
else
|
{
|
m_SkillTween.SetEndState();
|
m_RightTween.SetEndState();
|
}
|
|
m_GotoBtnText.text = Language.Get("FairyTreasureGotoBuy");
|
|
if (model.fairyTreasureGetDict.ContainsKey(treasure.id))
|
{
|
m_LockedDescription.text = Language.Get("FairyTreasure_1", model.fairyTreasureGetDict[_treasureId]);
|
}
|
|
OnVIPKillNPCExpChange();
|
|
model.vipKillNPCTreasureEvent -= OnVIPKillNPCExpChange;
|
model.vipKillNPCTreasureEvent += OnVIPKillNPCExpChange;
|
|
var syncSwitch = new CA805_tagCMVIPKillNPCLVInfoSwitch();
|
syncSwitch.IsOn = 1;
|
GameNetSystem.Instance.SendInfo(syncSwitch);
|
}
|
|
public override void Dispose()
|
{
|
base.Dispose();
|
|
var syncSwitch = new CA805_tagCMVIPKillNPCLVInfoSwitch();
|
syncSwitch.IsOn = 0;
|
GameNetSystem.Instance.SendInfo(syncSwitch);
|
|
model.vipKillNPCTreasureEvent -= OnVIPKillNPCExpChange;
|
}
|
|
protected sealed override void OnTreasureStateChange(int _treasureId)
|
{
|
if (treasure.id != _treasureId)
|
{
|
return;
|
}
|
|
|
OnVIPKillNPCExpChange();
|
}
|
|
private void OnVIPKillNPCExpChange()
|
{
|
var level = model.vipKillNPCTreasure.level == 0 || treasure.state != TreasureState.Collected
|
? 1 : model.vipKillNPCTreasure.level;
|
m_TreasureLevel.text = StringUtility.Contact(Language.Get("TreasureSkillLv"), level);
|
|
var _fightPower = treasureEffect.GetFightPower(treasure.id, 1, level);
|
m_FightPower.text = UIHelper.ReplaceLargeArtNum(_fightPower);
|
m_ContainerFight.SetActive(_fightPower > 0 && treasure.state == TreasureState.Collected);
|
|
var config = VIPKillNPCConfig.Get(level);
|
var expNeed = config.Exp1 * (long)Constants.ExpPointValue + config.Exp2;
|
var exp = treasure.state != TreasureState.Collected ? 0 : model.vipKillNPCTreasure.currentExp;
|
|
m_Exp.value = exp / (float)expNeed;
|
m_ExpProgress.text = StringUtility.Contact(UIHelper.ReplaceLargeNum(exp), "/", UIHelper.ReplaceLargeNum(expNeed));
|
|
if (levelBuf == -1 || level == 0 || levelBuf != level)
|
{
|
DisplayProperty();
|
}
|
|
levelBuf = level;
|
}
|
|
private void DisplayProperty()
|
{
|
var level = model.vipKillNPCTreasure.level;
|
var currentLevel = level == 0 || treasure.state != TreasureState.Collected ? 1 : level;
|
var configNow = VIPKillNPCConfig.Get(currentLevel);
|
|
m_Current.text = StringUtility.Contact("+", configNow.MinAtk, "-", configNow.MaxAtk);
|
|
var isMaxLevel = currentLevel >= 400;
|
if (isMaxLevel)
|
{
|
m_Next.text = Language.Get("HallowsWin_Text_MaxLevel");
|
}
|
else
|
{
|
var nextLevel = currentLevel + 1;
|
var configNext = VIPKillNPCConfig.Get(nextLevel);
|
m_Next.text = StringUtility.Contact("+", configNext.MinAtk, "-", configNext.MaxAtk);
|
}
|
|
}
|
|
protected sealed override void GotoGet()
|
{
|
ModelCenter.Instance.GetModel<VipModel>().gotoVipLv = model.fairyTreasureGetDict[treasureId];
|
WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.VipRechargeFunc4);
|
}
|
}
|
|
}
|
|
|
|