/// <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); }
/// <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); }