using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using System.Linq;
|
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI
|
{
|
public class FairyTreasureCollectPanelPattern3 : FairyTreasureCollect
|
{
|
[SerializeField] Text m_AddedEffect;
|
[SerializeField] Button m_UnlockTreasureBtn;
|
[SerializeField] PositionTween m_SkillTween;
|
|
TreasureFindHostModel findHostModel
|
{
|
get
|
{
|
return ModelCenter.Instance.GetModel<TreasureFindHostModel>();
|
}
|
}
|
|
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.gameObject.SetActive(true);
|
m_GotoGet.gameObject.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.gameObject.SetActive(false);
|
}
|
|
switch (treasureId)
|
{
|
case 302:
|
m_GotoBtnText.text = Language.Get("FairyTreasureGotoBuy");
|
if (treasure.treasureStages.Count > 0 &&
|
treasure.treasureStages[0].unlockType == TreasureStageUnlock.Skill)
|
{
|
var _skillId = treasure.unlockSkill;
|
var skillConfig = SkillConfig.Get(_skillId);
|
m_AddedEffect.text = skillConfig.Description;
|
}
|
break;
|
case 305:
|
case 306:
|
case 307:
|
case 308:
|
m_GotoBtnText.text = Language.Get("FairyTreasureGot");
|
m_ContainerLocked.gameObject.SetActive(false);
|
if (treasure.treasureStages[0].unlockType == TreasureStageUnlock.Property)
|
{
|
var _property = treasure.treasureStages[0].propertyDict.First();
|
switch (_property.Key)
|
{
|
case (int)AttrEnum.KillMonsExpPrecent:
|
m_AddedEffect.text = Language.Get("FairyTreasure_2", _property.Value / 100);
|
break;
|
case (int)AttrEnum.AddHurt:
|
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;
|
}
|
}
|
break;
|
}
|
|
if (_tween && m_SkillTween.gameObject.activeInHierarchy)
|
{
|
m_SkillTween.Play();
|
}
|
else
|
{
|
m_SkillTween.SetEndState();
|
}
|
|
var _fightPower = model.GetTreasureFightPower(_treasureId);
|
m_FightPower.text = _fightPower.ToString();
|
m_ContainerFight.gameObject.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 = _fightPower.ToString();
|
m_ContainerFight.gameObject.SetActive(_fightPower > 0 && treasure.state == TreasureState.Collected);
|
}
|
|
public override void Dispose()
|
{
|
base.Dispose();
|
m_UnlockTreasureBtn.onClick.RemoveAllListeners();
|
}
|
}
|
}
|
|