/// <summary> /// 显示一个消息,具体这个消息的显示形式由配表决定,显示时机跟具体显示系统调度有关 /// </summary> /// <param name="id"></param> /// <param name="data"></param> public static void ShowMessage(int id, object data, MessageTemplate.OnClose callback) { if (s_instance == null) { return; } List <MessageTemplate> tmps = s_instance.GetMessageTemplate(id); if (tmps == null) { EB.Debug.LogError("No MessageTemplate for id={0}", id); return; } for (int i = 0; i < tmps.Count; i++) { if (i == 0) { tmps[i].ShowMessage(data, callback); } else { tmps[i].ShowMessage(data, null); } } }
public static void ShowMessageFromILR(string type, string content, bool hasCallback = false) { MessageTemplate.OnClose callback = null; if (hasCallback) { callback = (int r) => { if (r == 0) { LTGameSettingController.SetGameQualityLevel(UnityEngine.QualitySettings.GetQualityLevel() + 1); } }; } ShowMessage((eMessageUIType)Enum.Parse(typeof(eMessageUIType), type), content, callback); }
public static void ShowMessage(eMessageUIType type, string content, MessageTemplate.OnClose callback = null) { switch (type) { case eMessageUIType.MessageDialogue_1: if (SceneLogic.SceneState == SceneLogic.eSceneState.SceneLoop) { MessageDialog.HideCurrent(); MessageDialog.Show(EB.Localizer.GetString(MessageTemplate.Title), content, EB.Localizer.GetString(MessageTemplate.OkBtn), null, true, true, true, delegate(int result) { if (callback != null) { callback(result); } }); } break; case eMessageUIType.MessageDialogue_2: if (SceneLogic.SceneState == SceneLogic.eSceneState.SceneLoop) { MessageDialog.HideCurrent(); MessageDialog.Show(EB.Localizer.GetString(MessageTemplate.Title), content, EB.Localizer.GetString(MessageTemplate.OkBtn), EB.Localizer.GetString(MessageTemplate.CancelBtn), true, false, true, delegate(int result) { if (callback != null) { callback(result); } }); } break; case eMessageUIType.MessageDialogue_3: if (SceneLogic.SceneState == SceneLogic.eSceneState.SceneLoop) { MessageDialog.HideCurrent(); MessageDialog.Show(EB.Localizer.GetString(MessageTemplate.Title), content, EB.Localizer.GetString(MessageTemplate.OkBtn), null, false, true, false, delegate(int result) { if (callback != null) { callback(result); } }); } break; case eMessageUIType.MessageDialogue_4: if (SceneLogic.SceneState == SceneLogic.eSceneState.SceneLoop) { MessageDialog.HideCurrent(); MessageDialog.Show(EB.Localizer.GetString(MessageTemplate.Title), content, EB.Localizer.GetString(MessageTemplate.OkBtn), EB.Localizer.GetString(MessageTemplate.CancelBtn), false, false, false, delegate(int result) { if (callback != null) { callback(result); } }); } break; case eMessageUIType.FloatingText: FloatingUITextManager.ShowFloatingText(content); break; case eMessageUIType.CombatPowerText: FloatingCombatPowerTextManager.ShowFloatingText(content); break; case eMessageUIType.CenterRollingMessage: if (null != UIBroadCastMessageController.Instance) { UIBroadCastMessageController.Instance.PutOneMessage(content); } break; case eMessageUIType.IMPrivateMessage: SparxHub.Instance.ChatManager.HandleSystemMessage(content); break; case eMessageUIType.IMPublicMessage: SparxHub.Instance.ChatManager.HandlePublicMessage(content); break; case eMessageUIType.IMAllianceMessage: SparxHub.Instance.ChatManager.HandleAllianceMessage(content);; break; case eMessageUIType.IMTeamMessage: SparxHub.Instance.ChatManager.HandleTeamMessage(content); break; case eMessageUIType.IMSystemMessage: SparxHub.Instance.ChatManager.HandleSystemMessage(content); break; default: EB.Debug.LogWarning("MessageTemplate type is elegal for {0}", type); break; } }