/// <summary> /// 填充面板 /// </summary> public void FillPanel() { m_CurrentTalentTypeVO = new TalentTypeVO(); int pageIndex = State.GetPageIndex(); m_CurrentTalentRootId = GetTalentIdByLabel(pageIndex); m_CurrentTalentTypeVO.Id = (int)m_CurrentTalentRootId; m_TalentLength = m_CfgEternityProxy.GetTalentNodeLength(m_CurrentTalentRootId); Debug.Log("shuxinjiemian"); Talent?talent = m_CfgEternityProxy.GetTalentByKey(m_CurrentTalentRootId); m_TalentProxy.AddData(m_CurrentTalentRootId); if (talent.HasValue) { m_CurrentTalentTypeVO.MTalent = talent; m_CurrentTalentTypeVO.IconId = talent.Value.Icon; m_CurrentTalentTypeVO.UnLockId = talent.Value.UnlockCondition; m_CurrentTalentTypeVO.Type = (int)talent.Value.Type; if (!m_TalentProxy.GetTalentRootVODic().ContainsKey(m_CurrentTalentTypeVO.Id)) { m_TalentProxy.GetTalentRootVODic().Add(m_CurrentTalentTypeVO.Id, m_CurrentTalentTypeVO); } } OnRendererTalentRoot(); while (m_TalentRoot.childCount < m_TalentLength) { GameObject obj = ObjectPool.Spawn(m_TalentElement, m_TalentRoot); GameObject objLine = ObjectPool.Spawn(m_TalentLineElement, m_TalentLineRoot); Toggle toggle = obj.GetComponent <Toggle>(); ItemHandler handler = toggle.gameObject.GetComponent <ItemHandler>() ?? toggle.gameObject.AddComponent <ItemHandler>(); handler.OnPointerOverHandler = (pressed, go) => { OnPointerOverHandler(pressed, toggle, pageIndex); }; handler.OnPointerPressHandler = (pressed, go) => { OnPointerPressHandler(pressed, toggle, pageIndex); }; handler.OnSelectHandler = (selected, go) => { OnSelectionHandler(selected, toggle, pageIndex); }; toggle.onValueChanged.RemoveAllListeners(); toggle.onValueChanged.AddListener((bool select) => { OnCellSelect(select, obj); }); toggle.group = m_ToggleGroup; } for (int i = m_TalentLength; i < m_TalentRoot.childCount; i++) { if (m_TalentRoot.GetChild(i).gameObject.activeSelf) { m_TalentRoot.GetChild(i).gameObject.SetActive(false); m_TalentLineRoot.GetChild(i).gameObject.SetActive(false); m_TalentLineRoot.GetChild(i).localPosition = Vector3.zero; m_TalentLineRoot.GetChild(i).localScale = Vector3.one; } } UpdateData(); }
/// <summary> ///加载数据 /// </summary> public void SetContent(TalentTypeVO talentTypeVO) { PlayerInfoVo playerInfoVo = NetworkManager.Instance.GetPlayerController().GetPlayerInfo(); m_NameLabel.text = TableUtil.GetTalentName(talentTypeVO.Id); //UIUtil.SetIconImageSquare(m_IconImage, talentTypeVO.IconId); m_CoinLabel.text = CurrencyUtil.GetTalentCurrencyCount().ToString(); m_LevelLabel.text = string.Format(TableUtil.GetLanguageString("character_text_1019"), playerInfoVo.WatchLv); talentTypeVO.Level = (int)playerInfoVo.WatchLv; Vector3 vector3 = new Vector3((float)talentTypeVO.MTalent.Value.Position.Value.X, (float)talentTypeVO.MTalent.Value.Position.Value.Y, 0); SetPos(vector3); }
/// <summary> /// 加载数据 /// </summary> /// <param name="tip">tip物体</param> /// <param name="data">数据</param> private void LayoutTip(GameObject tip, object data) { TalentVO talentVO = data as TalentVO; TalentTypeVO talentTypeVO = data as TalentTypeVO; if (talentVO != null) { if (talentVO.Id > 0) { InitSetData(); if (talentVO.Level > 0) { m_DescribeLabel.text = TableUtil.GetTalentDescribe(talentVO.Id, talentVO.Level); } else { m_DescribeLabel.text = TableUtil.GetTalentDescribe(talentVO.Id, 1); } m_TalentName.text = TableUtil.GetTalentNodeName(talentVO.Id); if (m_TalentProxy.GetTalentRootVODic().TryGetValue((int)talentVO.TalentRootId, out TalentTypeVO vO)) { m_TypeLabel.text = "type"; } m_TypeLabel.text = "type"; //m_PlayerName.text = data.Name; m_UnLockLabel.text = m_TalentProxy.GetUnLockLabel((uint)talentVO.UnLockId); m_CostNum.text = m_CfgEternityProxy.GetUpLevelCost((uint)talentVO.Id, talentVO.Level).ToString(); m_LevelLabel.text = string.Format(TableUtil.GetLanguageString("shiphangar_text_1009"), talentVO.Level, talentVO.MaxLevel); } } else if (talentTypeVO != null) { if (talentTypeVO.Id > 0) { InitSetData(); m_DescribeLabel.text = TableUtil.GetTalentDescribe(talentTypeVO.Id, talentTypeVO.Level); m_TalentName.text = TableUtil.GetTalentName(talentTypeVO.Id); m_TypeLabel.text = "type"; m_LevelLabel.text = talentTypeVO.Level.ToString(); m_CostNum.text = ""; m_UnLockLabel.text = m_TalentProxy.GetUnLockLabel(talentTypeVO.UnLockId); //m_PlayerName.text = data.Name; //m_Level.text = string.Format(TableUtil.GetLanguageString("character_text_1019"), data.Level.ToString()); } } }