| | |
| | |
|
| | | public class TalentWin : Window
|
| | | {
|
| | | [SerializeField] TalentButtonBehaviour[] m_TalentButtons;
|
| | | [SerializeField] TalentTreeBehaviour[] m_TalentTrees;
|
| | | [SerializeField] TalentSeriesBehaviour[] m_TalentSeries;
|
| | | [SerializeField] TalentTreeScriptable[] m_TalentConfigs;
|
| | | [SerializeField] RectTransform m_ContainerSelect;
|
| | | [SerializeField] Button m_TalentSeriesSelect;
|
| | | [SerializeField] Text m_TalentSeries;
|
| | | [SerializeField] Button m_TalentTypeSelect;
|
| | | [SerializeField] Text m_TalentType;
|
| | |
|
| | | [SerializeField] TalentSkillBehaviour[] m_TalentSkills;
|
| | | [SerializeField] Image[] m_Arrows;
|
| | |
|
| | | [SerializeField] RectTransform m_ContainerSelectSkill;
|
| | | [SerializeField] Image m_SelectSkillIcon;
|
| | | [SerializeField] Text m_SelectSkillLevel;
|
| | |
| | |
|
| | | protected override void AddListeners()
|
| | | {
|
| | | m_TalentSeriesSelect.onClick.AddListener(TalentSelectSeries);
|
| | | m_TalentTypeSelect.onClick.AddListener(SelectTalentType);
|
| | | m_ResetPoint.onClick.AddListener(ResetPoint);
|
| | | m_AddPoint.onClick.AddListener(AddPoint);
|
| | | }
|
| | |
| | | model.OnSelectSkillEvent -= OnSelectSkillEvent;
|
| | | model.talentSkillUpdate -= TalentSkillUpdate;
|
| | | model.talentPointUpdate -= TalentPointUpdate;
|
| | | for (int i = 0; i < m_TalentButtons.Length; i++)
|
| | | for (int i = 0; i < m_TalentSeries.Length; i++)
|
| | | {
|
| | | m_TalentButtons[i].Dispose();
|
| | | }
|
| | | for (int i = 0; i < m_TalentTrees.Length; i++)
|
| | | {
|
| | | m_TalentTrees[i].Dispose();
|
| | | m_TalentSeries[i].Dispose();
|
| | | }
|
| | | }
|
| | |
|
| | |
| | |
|
| | | void Display()
|
| | | {
|
| | | for (int i = 0; i < m_TalentButtons.Length; i++)
|
| | | for (int i = 0; i < m_TalentSeries.Length; i++)
|
| | | {
|
| | | m_TalentButtons[i].Display(model.selectSeries);
|
| | | m_TalentSeries[i].Display(model.selectSeries);
|
| | | }
|
| | |
|
| | | DisplaySkills();
|
| | |
| | |
|
| | | void DisplaySkills()
|
| | | {
|
| | | var job = PlayerDatas.Instance.baseData.Job;
|
| | | for (int i = 0; i < m_TalentTrees.Length; i++)
|
| | | {
|
| | | m_TalentTrees[i].Dispose();
|
| | | if (m_TalentTrees[i].BelongToTalentTree(job, model.selectSeries, model.selectTalentType))
|
| | | {
|
| | | m_TalentTrees[i].gameObject.SetActive(true);
|
| | | m_TalentTrees[i].Display(model.selectSeries, model.selectTalentType);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_TalentTrees[i].gameObject.SetActive(false);
|
| | | }
|
| | | }
|
| | | |
| | | }
|
| | |
|
| | | void DisplaySeries()
|
| | |
| | | point += model.GetTalentTypeTotalPoint(model.selectSeries, 1);
|
| | | point += model.GetTalentTypeTotalPoint(model.selectSeries, 2);
|
| | | point += model.GetTalentTypeTotalPoint(model.selectSeries, 3);
|
| | | m_TalentSeries.text = model.selectSeries == 1 ? string.Format("智力天赋({0})", point) : string.Format("力量天赋({0})", point);
|
| | | m_TalentType.text = model.selectSeries == 1 ? string.Format("智力天赋({0})", point) : string.Format("力量天赋({0})", point);
|
| | | }
|
| | |
|
| | | void DisplaySelectSkill()
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | bool TryGetTalentConfig(out TalentTreeScriptable config)
|
| | | {
|
| | | config = null;
|
| | | for (int i = 0; i < m_TalentConfigs.Length; i++)
|
| | | {
|
| | | if (m_TalentConfigs[i].Belong(PlayerDatas.Instance.baseData.Job, model.selectTalentType, model.selectSeries))
|
| | | {
|
| | | config = m_TalentConfigs[i];
|
| | | return true;
|
| | | }
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | void DisplayTalentPoint()
|
| | | {
|
| | | m_SurplusPoint.text = model.talentPoint.ToString();
|
| | |
| | | DisplaySelectSkill();
|
| | | }
|
| | |
|
| | | private void TalentSelectSeries()
|
| | | private void SelectTalentType()
|
| | | {
|
| | | model.selectSeries = model.selectSeries == 1 ? 2 : 1;
|
| | | model.selectTalentType = model.selectTalentType == 1 ? 2 : 1;
|
| | | }
|
| | |
|
| | | private void AddPoint()
|