// using System.Collections;
|
// using System.Collections.Generic;
|
// using UnityEngine;
|
// using UnityEngine.UI;
|
// using CJ.Wait;
|
// using System;
|
|
// using System.Text.RegularExpressions;
|
// using DG.Tweening;
|
// namespace vnxbqy.UI
|
// {
|
|
// public class MessageWin : Window
|
// {
|
// [SerializeField] RectTransform m_ContainerNormalHint;
|
// [SerializeField] RichText m_NormalHint;
|
// [SerializeField] RectTransform m_ContainerChatHint;
|
// [SerializeField] RichText m_NormalChatHint; //显示在聊天界面的位置
|
|
// [SerializeField] RectTransform m_ContainerServerTip;
|
// [SerializeField] ScaleTween m_ServerTipScaleTween;
|
// [SerializeField] PositionTween m_ServerTipPositionTween;
|
// [SerializeField] RichText m_ServerTip;
|
// [SerializeField, Header("全服广播停留时间")] float m_ServerTipKeepTime = 1.5f;
|
|
// [SerializeField] RectTransform m_ContainerGM;
|
// [SerializeField] Text m_GmRichText;
|
// [SerializeField] ScrollerController m_ScrollControl;
|
// [SerializeField] Toggle m_AutoPopToggle;
|
// [SerializeField] Toggle m_AutoRefreshToggle;
|
// [SerializeField] Button m_GMClose;
|
|
// bool m_ServerTipPrepared = true;
|
|
// protected override void BindController()
|
// {
|
// }
|
|
// protected override void AddListeners()
|
// {
|
// m_ContainerNormalHint.OnWaitCompelete(OnHintDisplayComplete);
|
// m_ContainerChatHint.OnWaitCompelete(OnHintDisplayComplete);
|
// m_ScrollControl.OnRefreshCell += OnRefreshGmCell;
|
// m_ScrollControl.OnGetDynamicSize += OnGetDynamicSize;
|
// m_ScrollControl.lockType = EnhanceLockType.LockVerticalBottom;
|
// m_GMClose.onClick.AddListener(OnGMClose);
|
// }
|
|
// protected override void OnPreOpen()
|
// {
|
// m_ServerTipPrepared = true;
|
|
// #if UNITY_EDITOR
|
// m_ContainerGM.SetActive(VersionConfig.Get().debugVersion);
|
// #else
|
// m_ContainerGM.SetActive(false);
|
// #endif
|
// ServerTipDetails.normalHintRefresh += CheckNormalHint;
|
// ServerTipDetails.serverHintRefresh += CheckServerHint;
|
// ServerTipDetails.gmMessageRefresh += DisplayGM;
|
// ServerTipDetails.gmOpenEvent += GmOpenEvent;
|
// ServerTipDetails.chatHintRefresh += CheckChatHint;
|
// CheckNormalHint();
|
// CheckChatHint();
|
// CheckServerHint();
|
// DisplayGM(string.Empty);
|
|
// if (ServerTipDetails.requireOpenGM)
|
// {
|
// if (hasOnFrom)
|
// {
|
// OnGMOpen();
|
// }
|
// ServerTipDetails.requireOpenGM = false;
|
// }
|
// }
|
|
// protected override void OnAfterOpen()
|
// {
|
// }
|
|
// protected override void OnPreClose()
|
// {
|
// ServerTipDetails.normalHintRefresh -= CheckNormalHint;
|
// ServerTipDetails.serverHintRefresh -= CheckServerHint;
|
// ServerTipDetails.gmMessageRefresh -= DisplayGM;
|
// ServerTipDetails.gmOpenEvent -= GmOpenEvent;
|
// ServerTipDetails.chatHintRefresh -= CheckChatHint;
|
// }
|
|
// protected override void OnAfterClose()
|
// {
|
// }
|
|
// private void GmOpenEvent()
|
// {
|
// if (ServerTipDetails.requireOpenGM)
|
// {
|
// OnGMOpen();
|
// ServerTipDetails.requireOpenGM = false;
|
// }
|
// }
|
|
// void CheckNormalHint()
|
// {
|
// var hint = ServerTipDetails.RequireNormalHint();
|
// if (hint != null)
|
// {
|
// DisplayNormalHint(hint);
|
// }
|
// }
|
|
// void DisplayNormalHint(SystemHintData hint)
|
// {
|
// transform.SetAsLastSibling();
|
// m_NormalHint.SetExtenalData(hint.extentionData);
|
// m_NormalHint.text = hint.message;
|
// if (!m_ContainerNormalHint.gameObject.activeInHierarchy)
|
// {
|
// m_ContainerNormalHint.SetActive(true);
|
// }
|
// m_ContainerNormalHint.DoWaitRestart();
|
// }
|
|
// private void OnHintDisplayComplete(Component com)
|
// {
|
// com.DoWaitStop();
|
// com.SetActive(false);
|
// }
|
|
// void CheckServerHint()
|
// {
|
// if (!m_ServerTipPrepared)
|
// {
|
// return;
|
// }
|
// var hint = ServerTipDetails.RequireServerTip();
|
// if (hint != null && gameObject.activeInHierarchy)
|
// {
|
// DisplayServerHint(hint);
|
// }
|
// else
|
// {
|
// DisableServerTip();
|
// }
|
// }
|
|
// public void DisplayServerHint(SystemHintData hint)
|
// {
|
// transform.SetAsLastSibling();
|
// m_ServerTipPrepared = false;
|
// if (!m_ServerTipScaleTween.gameObject.activeSelf)
|
// {
|
// m_ServerTipScaleTween.SetActive(true);
|
// }
|
// m_ServerTipScaleTween.SetStartState();
|
// m_ServerTipPositionTween.SetStartState();
|
// m_ContainerServerTip.SetActive(true);
|
// m_ServerTip.SetExtenalData(hint.extentionData);
|
// m_ServerTip.text = hint.message;
|
// m_ServerTipScaleTween.Play();
|
// TimeMgr.Instance.Register(m_ServerTip, ServerTipStartHide, m_ServerTipKeepTime + m_ServerTipScaleTween.duration);
|
// }
|
|
// private void ServerTipStartHide(Component comp)
|
// {
|
// m_ServerTipPositionTween.Play();
|
// TimeMgr.Instance.Register(m_ServerTipPositionTween, ServerTipTweenComplete, m_ServerTipPositionTween.duration);
|
// }
|
|
// private void ServerTipTweenComplete(Component comp)
|
// {
|
// m_ServerTipPrepared = true;
|
// DisableServerTip();
|
// CheckServerHint();
|
// }
|
|
// private void DisableServerTip()
|
// {
|
// TimeMgr.Instance.UnRegister(m_ServerTip);
|
// TimeMgr.Instance.UnRegister(m_ServerTipPositionTween);
|
// m_ContainerServerTip.SetActive(false);
|
// m_ServerTipScaleTween.Stop();
|
// m_ServerTipPositionTween.Stop();
|
// m_ServerTipScaleTween.SetStartState();
|
// m_ServerTipPositionTween.SetStartState();
|
// }
|
|
|
// #region GM
|
// readonly Regex autoPopRegex = new Regex("参数错误|执行GM命令错误|^###");
|
// void DisplayGM(string latest)
|
// {
|
// if (!string.IsNullOrEmpty(latest))
|
// {
|
// if (m_AutoPopToggle.isOn && hasOnFrom)
|
// {
|
// RectTransform rt = m_ContainerGM;
|
// Vector3 pos = new Vector3(hasOnFrom ? -rt.sizeDelta.x / 2 : rt.sizeDelta.x / 2, 0, 0);
|
// rt.DOLocalMove(pos, 1.0f);
|
// hasOnFrom = !hasOnFrom;
|
// m_GMClose.SetActive(!hasOnFrom);
|
// }
|
// }
|
// if (m_ScrollControl.GetNumberOfCells(m_ScrollControl.m_Scorller) >= 300)
|
// {
|
// m_ScrollControl.m_Scorller.RefreshActiveCellViews();
|
// return;
|
// }
|
// m_ScrollControl.Refresh();
|
// for (int i = 0; i < ServerTipDetails.gmMessages.Count; i++)
|
// {
|
// m_ScrollControl.AddCell(ScrollerDataType.Normal, i);
|
// }
|
// m_ScrollControl.Restart();
|
// if (autoPopRegex.IsMatch(latest))
|
// {
|
// if (hasOnFrom)
|
// {
|
// OnGMOpen();
|
// }
|
// }
|
// }
|
|
// private void OnRefreshGmCell(ScrollerDataType type, CellView cell)
|
// {
|
// if (cell.index < ServerTipDetails.gmMessages.Count)
|
// {
|
// Text text = cell.transform.Find("Text").GetComponent<Text>();
|
// text.text = ServerTipDetails.gmMessages[cell.index];
|
// }
|
// }
|
|
// private bool OnGetDynamicSize(ScrollerDataType type, int index, out float height)
|
// {
|
// var msg = index < ServerTipDetails.gmMessages.Count ? ServerTipDetails.gmMessages[index] : string.Empty;
|
// height = m_GmRichText.cachedTextGeneratorForLayout.GetPreferredHeight(msg,
|
// m_GmRichText.GetGenerationSettings(new Vector2(m_GmRichText.rectTransform.rect.size.x, 0.0f)))
|
// / m_GmRichText.pixelsPerUnit;
|
// height += 5;
|
// return true;
|
// }
|
|
// private void OnGMClose()
|
// {
|
// if (!hasOnFrom)
|
// {
|
// RectTransform rt = m_ContainerGM;
|
// Vector3 pos = new Vector3(hasOnFrom ? -rt.sizeDelta.x / 2 : rt.sizeDelta.x / 2, 0, 0);
|
// rt.DOLocalMove(pos, 1.0f);
|
// hasOnFrom = !hasOnFrom;
|
// m_GMClose.SetActive(!hasOnFrom);
|
// }
|
// }
|
// #endregion
|
|
// private void OnDisable()
|
// {
|
// m_ContainerNormalHint.SetActive(false);
|
// m_ContainerChatHint.SetActive(false);
|
// DisableServerTip();
|
// StopAllCoroutines();
|
// }
|
|
// private Vector3 gmTo = new Vector3(442, 0, 0);
|
// private Vector3 gmFrom = new Vector3(892, 0, 0);
|
// private bool hasOnFrom = true;
|
// public void OnGMOpen()
|
// {
|
// RectTransform rt = m_ContainerGM;
|
// Vector3 pos = new Vector3(hasOnFrom ? -rt.sizeDelta.x / 2 : rt.sizeDelta.x / 2, 0, 0);
|
// rt.DOLocalMove(pos, 1.0f);
|
// hasOnFrom = !hasOnFrom;
|
// m_GMClose.SetActive(!hasOnFrom);
|
// }
|
|
// void CheckChatHint()
|
// {
|
// var hint = ServerTipDetails.RequireChatHint();
|
// if (hint != null)
|
// {
|
// DisplayChatHint(hint);
|
// }
|
// }
|
|
// void DisplayChatHint(SystemHintData hint)
|
// {
|
// if (!WindowCenter.Instance.IsOpen<ChatWin>())
|
// {
|
// return;
|
// }
|
// if (!m_ContainerChatHint.gameObject.activeInHierarchy)
|
// {
|
// m_ContainerChatHint.gameObject.SetActive(true);
|
// }
|
// m_NormalChatHint.SetExtenalData(hint.extentionData);
|
// m_NormalChatHint.text = hint.message;
|
// m_ContainerChatHint.DoWaitRestart();
|
// }
|
// }
|
// }
|