| | |
| | | using System.Collections; |
| | | using System;
|
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | using UnityEngine.UI;
|
| | |
|
| | | namespace Snxxz.UI
|
| | | {
|
| | | public class ExpertSkillConditionCell : CellView
|
| | | public class ExpertSkillConditionCell : ScrollItem
|
| | | {
|
| | | [SerializeField] UIAlphaTween m_AlphaTween;
|
| | | [SerializeField] UILinerMove m_LinerMove;
|
| | | [SerializeField] Text m_Condition;
|
| | | [SerializeField] Text m_Description;
|
| | | [SerializeField] Image m_Line;
|
| | | [SerializeField] UIEffect m_Effect;
|
| | |
|
| | | public UIAlphaTween alphaTween
|
| | | {
|
| | | get { return m_AlphaTween; }
|
| | | }
|
| | |
|
| | | public UILinerMove linerMove
|
| | | {
|
| | | get { return m_LinerMove; }
|
| | | }
|
| | |
|
| | | int skillId = 0;
|
| | | int level = 0;
|
| | |
|
| | | TreasureSkillModel model { get { return ModelCenter.Instance.GetModel<TreasureSkillModel>(); } }
|
| | |
|
| | | public void Display(int skillId, int level)
|
| | | public override void Display(object _data)
|
| | | {
|
| | | var data = (int)_data;
|
| | | skillId = data / 100;
|
| | | level = data % 100;
|
| | |
|
| | | m_AlphaTween.SetStartState();
|
| | |
|
| | | var activeLevel = 0;
|
| | | model.TryGetExpertActiveLevel(skillId, out activeLevel);
|
| | |
|
| | | var skillConfig = SkillConfig.Get(skillId + level - 1);
|
| | | var property = skillConfig.RequireProperty();
|
| | | var propertyConfig = PlayerPropertyConfig.Get(property);
|
| | |
| | |
|
| | | var currentValue = UIHelper.GetPropertyValue((PropertyType)property);
|
| | |
|
| | | if (currentValue >= skillConfig.RequirePropertyValue())
|
| | | if (activeLevel >= level)
|
| | | {
|
| | | m_Description.color = UIHelper.s_LightYellow;
|
| | | m_Condition.color = UIHelper.s_Gold;
|
| | | }
|
| | | else
|
| | | {
|
| | | m_Description.color = UIHelper.s_BrightWhiteColor;
|
| | | m_Condition.color = UIHelper.s_BrightWhiteColor;
|
| | | if (currentValue >= skillConfig.RequirePropertyValue())
|
| | | {
|
| | | m_Condition.text += UIHelper.AppendColor(TextColType.Green, "(可激活)");
|
| | | }
|
| | | }
|
| | |
|
| | | model.expertActiveRefresh -= ExpertActiveRefresh;
|
| | | model.expertActiveRefresh += ExpertActiveRefresh;
|
| | | }
|
| | |
|
| | | public override void Dispose()
|
| | | {
|
| | | base.Dispose();
|
| | | m_AlphaTween.SetStartState();
|
| | |
|
| | | model.expertActiveRefresh -= ExpertActiveRefresh;
|
| | | }
|
| | |
|
| | | private void ExpertActiveRefresh(int id)
|
| | | {
|
| | | if (skillId == id)
|
| | | {
|
| | | var activeLevel = 0;
|
| | | model.TryGetExpertActiveLevel(id, out activeLevel);
|
| | | if (activeLevel == level)
|
| | | {
|
| | | m_Effect.Play();
|
| | | }
|
| | | Display(skillId * 100 + level);
|
| | | }
|
| | | }
|
| | | }
|