Exemplo n.º 1
0
    /// <summary>
    /// 设置动态加载的面板
    /// [外部调用]
    /// </summary>
    /// <param name="panelID">面板ID</param>
    private void SetPanel_DynamicLoading(EUIPanelID panelID)
    {
        //初始化一个结构体
        StruUncommonPrefab tmpUncommonObj = new StruUncommonPrefab();

        //将结构体存放到列表中
        m_panelsList_DynamicLoading.Add(tmpUncommonObj);
        //主要就是加个ID,GameObject和一个倒计时时间
        //并且对GameObject进行一些设置
        m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelID = panelID;
        //给需要长时间保持的面板,或者不通过UIMgr显示的面板一个足够长的时间
        if (panelID == EUIPanelID.HelpDesPanel || panelID == EUIPanelID.HelpLeaguePanel)
        {
            m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].countDownTimer = 999999;
        }
        else
        {
            //否则就十分钟一次~
            m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].countDownTimer = m_nSeconds;
        }
        m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj                         = GameObject.Instantiate(Resources.Load("Panels/" + panelID + "/Panel")) as GameObject;
        m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj.name                    = panelID.ToString();
        m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj.transform.parent        = m_targetTopNode.transform;
        m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj.transform.localScale    = Vector3.one;
        m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj.transform.localPosition = new Vector3(0, 0, m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj.transform.localPosition.z);

        //简单的初始化
        PanelScript tmpScript = m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj.GetComponent <PanelScript>();

        tmpScript.AppInit();
        m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj.SetActive(true);
        //注册这个面板的事件
        m_eventMgrScript.RegisterEvent(panelID);
    }
Exemplo n.º 2
0
    /// <summary>
    /// 设置动态加载的面板
    /// [外部调用]
    /// </summary>
    /// <param name="panelID">面板ID</param>
    private void SetPanel_DynamicLoading(EUIPanelID panelID)
    {
        //初始化一个结构体
        StruUncommonPrefab tmpUncommonObj = new StruUncommonPrefab();
        //将结构体存放到列表中
        m_panelsList_DynamicLoading.Add(tmpUncommonObj);
        //主要就是加个ID,GameObject和一个倒计时时间
        //并且对GameObject进行一些设置
        m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelID = panelID;
        //给需要长时间保持的面板,或者不通过UIMgr显示的面板一个足够长的时间
        if (panelID == EUIPanelID.HelpDesPanel || panelID == EUIPanelID.HelpLeaguePanel)
        {
            m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].countDownTimer = 999999;
        }
        else
        {
            //否则就十分钟一次~
            m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].countDownTimer = m_nSeconds;
        }
        m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj = GameObject.Instantiate(Resources.Load("Panels/" + panelID + "/Panel")) as GameObject;
        m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj.name = panelID.ToString();
        m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj.transform.parent = m_targetTopNode.transform;
        m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj.transform.localScale = Vector3.one;
        m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj.transform.localPosition = new Vector3(0, 0, m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj.transform.localPosition.z);

        //简单的初始化
        PanelScript tmpScript = m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj.GetComponent<PanelScript>();
        tmpScript.AppInit();
        m_panelsList_DynamicLoading[m_panelsList_DynamicLoading.Count - 1].panelObj.SetActive(true);
        //注册这个面板的事件
        m_eventMgrScript.RegisterEvent(panelID);
    }