using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; using UnityEngine.EventSystems; using System.Collections; using Games.GlobeDefine; using GCGame.Table; using GCGame; using System.Collections.Generic; public class PlayHelpMessageRoot : UIControllerBase { #region start public static event UnityAction CloseEvent = null; public static void ShowHelpMessage(int messageID, bool SendServer = false) { UIManager.ShowUI(UIInfo.PlayHelpMessage, ShowMessageFinish, messageID); if (SendServer) CloseEvent = SendToServer; else CloseEvent = null; } public static void SendToServer() { //剧情结束后通知一下服务器 ReqResumeCopy req = new ReqResumeCopy(); req.nilparam = 1; req.SendMsg(); } public static void ShowMessageFinish(bool bSuccess, object param) { int messageID = (int)param; PlayHelpMessageRoot.Instance().ShowMessageInner(messageID); } public UIContainerBase m_Container; public Text Title; public RawImage m_DesTexure; public Text m_DesText; public GameObject m_DescBack; private float Duration = -1; List m_ShowList = new List(); public void Awake() { SetInstance(this); } public void OnDestory() { SetInstance(null); } public void CloseWindow() { UIManager.CloseUI(UIInfo.PlayHelpMessage); if(CloseEvent!=null) { CloseEvent.Invoke(); CloseEvent = null; } } #endregion #region public void Update() { if (Duration <= -1) return; if(Duration-Time.realtimeSinceStartup<=0) { CloseWindow(); Duration = -1; } } public void ShowMessageInner(int messageID) { var tabMessage = TableManager.GetPlayHelpMessageByID(messageID, 0); if (tabMessage == null) return; Title.text = tabMessage.Title; if(tabMessage.Duration>0) { Duration = Time.realtimeSinceStartup + tabMessage.Duration; } else { Duration = -1; } m_ShowList.Clear(); for (var i =0;i= m_ShowList.Count) m_Index = 0; ShowDesc(); } public void Last_Click() { m_Index--; if (m_Index < 0) m_Index = m_ShowList.Count - 1; ShowDesc(); } #endregion }