Esempio n. 1
0
    /// <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();
    }
Esempio n. 2
0
    /// <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);
    }
Esempio n. 3
0
    /// <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());
            }
        }
    }