using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using System.Linq;
|
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
public class FairyTreasureCollectPanelPattern3 : FairyTreasureCollect
|
{
|
[SerializeField] Text m_AddedEffect;
|
[SerializeField] Button m_UnlockTreasureBtn;
|
[SerializeField] PositionTween m_SkillTween;
|
[SerializeField] PositionTween m_RightTween;
|
[SerializeField] Text m_ReikiEffect;
|
[SerializeField] Text m_PlayerLevel;
|
[SerializeField] Text m_ReikiPoint;
|
|
TreasureFindHostModel findHostModel
|
{
|
get
|
{
|
return ModelCenter.Instance.GetModel<TreasureFindHostModel>();
|
}
|
}
|
|
ReikiRootModel reikiRootModel
|
{
|
get { return ModelCenter.Instance.GetModel<ReikiRootModel>(); }
|
}
|
|
TitleModel titleModel { get { return ModelCenter.Instance.GetModel<TitleModel>(); } }
|
|
private bool show = false;
|
|
public override void Display(int _treasureId, bool _tween = false)
|
{
|
base.Display(_treasureId, _tween);
|
|
if (model.fairyTreasureGetDict.ContainsKey(treasure.id))
|
{
|
m_LockedDescription.text = Language.Get("FairyTreasure_1", model.fairyTreasureGetDict[_treasureId]);
|
}
|
else
|
{
|
m_LockedDescription.text = string.Empty;
|
}
|
|
show = false;
|
|
var _progress = 0;
|
m_UnlockTreasureBtn.onClick.RemoveAllListeners();
|
if (treasureId != 302 && findHostModel.IsReachUnlock(treasureId, out _progress)
|
&& treasure.state != TreasureState.Collected)
|
{
|
m_UnlockTreasureBtn.SetActive(true);
|
m_GotoGet.SetActive(false);
|
m_UnlockTreasureBtn.onClick.AddListener(() =>
|
{
|
show = true;
|
CA50E_tagCMOpenMagicWeapon _pak = new CA50E_tagCMOpenMagicWeapon();
|
_pak.MWID = (uint)treasureId;
|
GameNetSystem.Instance.SendInfo(_pak);
|
});
|
}
|
else
|
{
|
m_UnlockTreasureBtn.SetActive(false);
|
}
|
|
m_SkillTween.SetActive(treasureId != 305);
|
m_RightTween.SetActive(treasureId == 305);
|
|
switch (treasureId)
|
{
|
case 302:
|
m_GotoBtnText.text = Language.Get("FairyTreasureGotoBuy");
|
if (treasure.treasureStages.Count > 0 &&
|
treasure.treasureStages[0].unlockType == TreasureStageUnlock.Skill)
|
{
|
var _skillId = treasure.skillId;
|
var skillConfig = SkillConfig.Get(_skillId);
|
m_AddedEffect.text = skillConfig.Description;
|
}
|
break;
|
case 305:
|
m_GotoBtnText.text = Language.Get("FairyTreasureGot");
|
m_ContainerLocked.SetActive(false);
|
m_ReikiEffect.text = Language.Get("FairyTreasure_12", reikiRootModel.levelUpAddPoint,
|
reikiRootModel.treasureAddPoint.point + reikiRootModel.levelUpAddPoint);
|
m_PlayerLevel.text = Language.Get("FairyTreasure_13", PlayerDatas.Instance.baseData.LV);
|
|
var reikiPoint = 0;
|
|
if (PlayerDatas.Instance.baseData.LV >= reikiRootModel.reikiPointAutoAddLevel)
|
{
|
reikiPoint = (PlayerDatas.Instance.baseData.LV - reikiRootModel.reikiPointAutoAddLevel + 1)
|
* reikiRootModel.treasureAddPoint.point;
|
}
|
|
if (treasure.state != TreasureState.Collected)
|
{
|
m_ReikiPoint.text = Language.Get("FairyTreasure_14", reikiPoint);
|
}
|
else
|
{
|
m_ReikiPoint.text = Language.Get("FairyTreasure_15", reikiPoint);
|
}
|
|
break;
|
case 306:
|
case 307:
|
case 308:
|
m_GotoBtnText.text = Language.Get("FairyTreasureGot");
|
m_ContainerLocked.SetActive(false);
|
if (treasure.treasureStages[0].unlockType == TreasureStageUnlock.Property)
|
{
|
var _property = treasure.treasureStages[0].propertyDict.First();
|
switch (_property.Key)
|
{
|
case (int)PropertyType.KillMonsExpPercent:
|
m_AddedEffect.text = Language.Get("FairyTreasure_2", _property.Value / 100);
|
break;
|
case (int)PropertyType.PVPAddHurt:
|
m_AddedEffect.text = Language.Get("FairyTreasure_3", _property.Value / 100);
|
break;
|
case 60:
|
m_AddedEffect.text = Language.Get("FairyTreasure_4", _property.Value / 100);
|
break;
|
case 18:
|
m_AddedEffect.text = Language.Get("FairyTreasure_9", _property.Value / 100);
|
break;
|
case 37:
|
m_AddedEffect.text = Language.Get("FairyTreasure_11", _property.Value / 100);
|
break;
|
}
|
}
|
break;
|
}
|
|
if (_tween && m_SkillTween.gameObject.activeInHierarchy)
|
{
|
m_SkillTween.Play();
|
}
|
else
|
{
|
m_SkillTween.SetEndState();
|
}
|
|
if (_tween && m_RightTween.gameObject.activeInHierarchy)
|
{
|
m_RightTween.Play();
|
}
|
else
|
{
|
m_RightTween.SetEndState();
|
}
|
|
var _fightPower = model.GetTreasureFightPower(_treasureId);
|
m_FightPower.text = UIHelper.ReplaceLargeArtNum(_fightPower);
|
m_ContainerFight.SetActive(_fightPower > 0 && treasure.state == TreasureState.Collected);
|
}
|
|
protected sealed override void GotoGet()
|
{
|
switch (treasureId)
|
{
|
case 302:
|
ModelCenter.Instance.GetModel<VipModel>().gotoVipLv = model.fairyTreasureGetDict[treasureId];
|
WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.VipRechargeFunc4);
|
break;
|
case 305:
|
case 306:
|
case 307:
|
case 308:
|
if (!FuncOpen.Instance.IsFuncOpen(124))
|
{
|
FuncOpen.Instance.ProcessorFuncErrorTip(124);
|
return;
|
}
|
WindowCenter.Instance.Close<TreasureBaseWin>();
|
WindowCenter.Instance.Open<TreasureFindHostWin>();
|
break;
|
}
|
}
|
|
protected sealed override void OnTreasureStateChange(int _id)
|
{
|
base.OnTreasureStateChange(_id);
|
if (_id != treasureId)
|
{
|
return;
|
}
|
if (show)
|
{
|
WindowCenter.Instance.Close<TreasureBaseWin>();
|
WindowCenter.Instance.Open<MainInterfaceWin>();
|
}
|
show = false;
|
var _fightPower = model.GetTreasureFightPower(_id);
|
m_FightPower.text = UIHelper.ReplaceLargeArtNum(_fightPower);
|
m_ContainerFight.SetActive(_fightPower > 0 && treasure.state == TreasureState.Collected);
|
}
|
|
public override void Dispose()
|
{
|
base.Dispose();
|
m_UnlockTreasureBtn.onClick.RemoveAllListeners();
|
}
|
}
|
}
|
|