using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class TalentSeriesBehaviour : MonoBehaviour { [SerializeField] int talentSeries = 0; [SerializeField] Button m_Button; [SerializeField] Image m_Icon; [SerializeField] Text m_TalentType; [SerializeField] Text m_TalentPoint; [SerializeField] RectTransform m_ContainerSelect; TalentModel model { get { return ModelCenter.Instance.GetModel(); } } private void Awake() { m_Button.onClick.AddListener(SelectSeries); } private void SelectSeries() { if (talentSeries != 0) { model.selectSeries = talentSeries; } } public void Display() { m_ContainerSelect.gameObject.SetActive(talentSeries == model.selectSeries); m_TalentType.text = Language.Get(StringUtility.Contact("TalentBtnSeries_", talentSeries)); DisplayTalentPoint(); model.selectSeriesEvent -= OnSelectSeriesEvent; model.selectSeriesEvent += OnSelectSeriesEvent; model.selectTalentTypeEvnet -= OnSelectTalentTypeEvnet; model.selectTalentTypeEvnet += OnSelectTalentTypeEvnet; model.talentSkillUpdate -= TalentSkillUpdate; model.talentSkillUpdate += TalentSkillUpdate; } void DisplayTalentPoint() { var point = model.GetSeriesPoint(model.selectTalentType, talentSeries); m_TalentPoint.text = StringUtility.Contact("(", point, ")"); } public void Dispose() { model.selectSeriesEvent -= OnSelectSeriesEvent; model.selectTalentTypeEvnet -= OnSelectTalentTypeEvnet; model.talentSkillUpdate -= TalentSkillUpdate; } private void TalentSkillUpdate(int skillId) { DisplayTalentPoint(); } private void OnSelectSeriesEvent() { m_ContainerSelect.gameObject.SetActive(talentSeries == model.selectSeries); } private void OnSelectTalentTypeEvnet() { DisplayTalentPoint(); } } }