using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class TreasureDemonBehaviour : MonoBehaviour
|
{
|
[SerializeField] Text m_TreasureDescription;
|
[SerializeField] RectTransform m_ContainerFightPower;
|
[SerializeField] Text m_FightPower;
|
[SerializeField] RectTransform m_ContainerLimit;
|
[SerializeField] Text m_Limit;
|
[SerializeField] RectTransform m_ContainerSkill;
|
[SerializeField] Image m_SkillIcon;
|
[SerializeField] Text m_SkillName;
|
[SerializeField] Text m_SkillEffect;
|
[SerializeField] Text m_SkillDescrition;
|
|
TreasureModel m_Model;
|
TreasureModel model
|
{
|
get
|
{
|
return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<TreasureModel>());
|
}
|
}
|
|
Treasure m_Treasure;
|
|
private void OnEnable()
|
{
|
model.treasureStateChangeEvent += TreasureStateChangeEvent;
|
}
|
|
private void TreasureStateChangeEvent(int _id)
|
{
|
if (_id == m_Treasure.id)
|
{
|
Display(_id);
|
}
|
}
|
|
private void OnDisable()
|
{
|
model.treasureStateChangeEvent -= TreasureStateChangeEvent;
|
}
|
|
public void Display(int _id)
|
{
|
model.TryGetTreasure(_id, out m_Treasure);
|
if (m_Treasure == null)
|
{
|
return;
|
}
|
var config = TreasureConfig.Get(_id);
|
m_TreasureDescription.text = config.Story;
|
var demonRecommondCfg = DemonRecommondPropertyConfig.Get(_id);
|
var myPower = PlayerDatas.Instance.baseData.FightPoint;
|
m_ContainerLimit.SetActive(m_Treasure.state == TreasureState.Locked);
|
m_ContainerFightPower.SetActive(m_Treasure.state == TreasureState.Collected);
|
|
if (m_Treasure.state == TreasureState.Locked)
|
{
|
if (config.PreTreasure == 0)
|
{
|
var levelLimitHint = UIHelper.AppendColor(
|
PlayerDatas.Instance.baseData.LV >= config.ChallengeLevel ? TextColType.Green : TextColType.Red, config.ChallengeLevel.ToString(), true);
|
m_Limit.text = Language.Get("TreasureLevelLimit", levelLimitHint);
|
|
}
|
else
|
{
|
var levelLimitHint = UIHelper.AppendColor(
|
PlayerDatas.Instance.baseData.LV >= config.ChallengeLevel ? TextColType.Green : TextColType.Red, config.ChallengeLevel.ToString(), true);
|
|
var preTreasureConfig = TreasureConfig.Get(config.PreTreasure);
|
var treasureLimitHint = UIHelper.AppendColor(
|
m_Treasure.state == TreasureState.Collecting ? TextColType.Green : TextColType.Red, preTreasureConfig.Name, true);
|
|
m_Limit.text = Language.Get("TreasureLvLimit", levelLimitHint, treasureLimitHint);
|
}
|
}
|
|
var skillConfig = SkillConfig.Get(m_Treasure.skillId);
|
m_ContainerSkill.SetActive(skillConfig != null);
|
if (skillConfig != null)
|
{
|
m_SkillIcon.SetSprite(skillConfig.IconName);
|
m_SkillName.text = skillConfig.SkillName;
|
m_SkillDescrition.text = skillConfig.Description;
|
m_SkillEffect.text = skillConfig.HurtType == 1 ? "PVP" : skillConfig.HurtType == 2 ? "PVE" : string.Empty;
|
var fightPower = 0;
|
TreasureDungeon treasureDungeon;
|
if (model.TryGetTreasureDungeon(_id, out treasureDungeon))
|
{
|
var dungeonInfo = treasureDungeon.Get(treasureDungeon.maxLevel);
|
if (!dungeonInfo.Equals(default(TreasureDungeonInfo)))
|
{
|
fightPower += UIHelper.GetFightPower(dungeonInfo.propertyDict);
|
}
|
}
|
fightPower += skillConfig.FightPower;
|
m_FightPower.text = fightPower.ToString();
|
}
|
else
|
{
|
m_FightPower.text = string.Empty;
|
}
|
|
if (m_Treasure.id == 201 && m_Treasure.state == TreasureState.Collecting
|
&& !NewBieCenter.Instance.completeGuidesBuf.Contains(88))
|
{
|
//NewBieCenter.Instance.StartNewBieGuide(88);
|
}
|
}
|
}
|
}
|
|