From 0019ec8507d0aeedebbeb7ac5fc66caee97d5c0d Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 26 五月 2025 15:55:03 +0800
Subject: [PATCH] 18 子 2D卡牌客户端搭建 / 2D卡牌客户端搭建 必备窗口更新&常用组件移植
---
Main/Component/UI/Decorate/Tweens/ScaleTween.cs | 6
Main/Component/UI/Common/LanguageReplace.cs | 3
Main/Component/UI/Decorate/Tweens/Tween.cs | 3
Main/System/Chat/ChatData.cs.meta | 11
Main/System/Tip.meta | 2
Main/Component/UI/Common/CanvasRaycastFilter.cs | 3
Main/UI/Decorate.meta | 2
Main/Component/UI/Common/FunctionButton.cs | 3
Main/Component/UI/Common/SmoothSlider.cs | 4
Main/Component/UI/Common/FuncEnable.cs | 3
Main/Component/UI/Common/SmoothMask.cs | 3
Main/Component/UI/Manager/UIEventTrigger.cs | 1
Main/Component/UI/Common/PopupMessage.cs | 6
Main/System/Chat/ChatData.cs | 226 ++++++++
Main/System/Tip/ServerTipDetails.cs.meta | 11
Main/Component/UI/Common/ButtonClickInterval.cs | 3
Main/Component/UI/Common/LongPressButton.cs | 6
Main/System/Message/SysNotifyMgr.cs | 312 +++++++++++
Main/Component/UI/Common/FunctionButtonGroup.cs | 3
Main/Component/UI/Common/OnOffToggle.cs | 9
Main/Component/UI/Common/AutoSelectCyclicScroll.cs | 5
Main/Component/UI/Common/CoolDownBehaviour.cs | 3
Main/Component/UI/Common/DragItem.cs | 4
Main/System/Redpoint/RedpointBehaviour.cs | 3
Main/Component/UI/Common/AutoSelectScrollItem.cs | 3
Main/Component/UI/Common/DragContainer.cs | 2
Main/Component/UI/Decorate/Tweens/PositionTween.cs | 5
Main/System/Chat.meta | 2
Main/System/Message/MessageWin.cs.meta | 3
Main/System/Tip/MarqueeWin.cs | 134 ++++
Main/Component/UI/Common/FrameEffect.cs | 3
Main/System/Message/WaitCallBack.cs | 3
Main/System/Redpoint/Redpoint.cs | 4
Main/Component/UI/Common/InputSpecialWordLimit.cs | 3
Main/System/Message/SysNotifyMgr.cs.meta | 11
Main/Component/UI/Common/DynamicCyclicScroll.cs | 3
Main/Component/UI/Common/NestingScrollRect.cs | 4
Main/Component/UI/Common/GameObjectDefaultActive.cs | 2
Main/Component/UI/Common/PopupMessageContainer.cs | 5
Main/System/Redpoint/RedpointCenter.cs | 4
/dev/null | 8
Main/Component/UI/Common/MultipleSmoothSlider.cs | 6
Main/System/Message/MessageWin.cs | 557 ++++++++++---------
Main/System/Tip/ServerTipDetails.cs | 255 +++++++++
Main/System/Tip/MarqueeWin.cs.meta | 11
Main/Component/UI/Effect/UIEffect.cs | 1
46 files changed, 1,267 insertions(+), 397 deletions(-)
diff --git a/Main/Component/UI/Common/AutoSelectCyclicScroll.cs b/Main/Component/UI/Common/AutoSelectCyclicScroll.cs
index d985f3e..a81bdc6 100644
--- a/Main/Component/UI/Common/AutoSelectCyclicScroll.cs
+++ b/Main/Component/UI/Common/AutoSelectCyclicScroll.cs
@@ -7,8 +7,6 @@
using UnityEngine.UI;
using UnityEngine.EventSystems;
-namespace vnxbqy.UI
-{
public class AutoSelectCyclicScroll : CyclicScroll
{
@@ -51,8 +49,5 @@
}
-
-}
-
diff --git a/Main/Component/UI/Common/AutoSelectScrollItem.cs b/Main/Component/UI/Common/AutoSelectScrollItem.cs
index 9ff0ae1..949f298 100644
--- a/Main/Component/UI/Common/AutoSelectScrollItem.cs
+++ b/Main/Component/UI/Common/AutoSelectScrollItem.cs
@@ -4,13 +4,10 @@
using UnityEngine.UI;
using System;
-namespace vnxbqy.UI
-{
public class AutoSelectScrollItem : ScrollItem
{
public AutoSelectCyclicScroll autoSelectScroll { get; set; }
public RectTransform centerSign { get; set; }
}
-}
diff --git a/Main/Component/UI/Common/ButtonClickInterval.cs b/Main/Component/UI/Common/ButtonClickInterval.cs
index f8ca274..f4eb65a 100644
--- a/Main/Component/UI/Common/ButtonClickInterval.cs
+++ b/Main/Component/UI/Common/ButtonClickInterval.cs
@@ -3,8 +3,6 @@
using UnityEngine.UI;
using System.Collections;
-namespace vnxbqy.UI
-{
public class ButtonClickInterval : MonoBehaviour
{
@@ -28,4 +26,3 @@
targetBtn.enabled = true;
}
}
-}
diff --git a/Main/Component/UI/Common/CanvasRaycastFilter.cs b/Main/Component/UI/Common/CanvasRaycastFilter.cs
index 8e5a66c..ba8f254 100644
--- a/Main/Component/UI/Common/CanvasRaycastFilter.cs
+++ b/Main/Component/UI/Common/CanvasRaycastFilter.cs
@@ -6,8 +6,6 @@
using System.Collections;
using UnityEngine.UI;
-namespace vnxbqy.UI
-{
public class CanvasRaycastFilter : MonoBehaviour, ICanvasRaycastFilter
{
@@ -22,7 +20,6 @@
}
-}
diff --git a/Main/Component/UI/Common/CoolDownBehaviour.cs b/Main/Component/UI/Common/CoolDownBehaviour.cs
index 0b858d0..c3d1a44 100644
--- a/Main/Component/UI/Common/CoolDownBehaviour.cs
+++ b/Main/Component/UI/Common/CoolDownBehaviour.cs
@@ -6,8 +6,6 @@
using System.Collections;
using UnityEngine.UI;
-namespace vnxbqy.UI
-{
public class CoolDownBehaviour : MonoBehaviour
{
@@ -83,7 +81,6 @@
}
-}
diff --git a/Main/Component/UI/Common/DragContainer.cs b/Main/Component/UI/Common/DragContainer.cs
index 94da996..a75be3c 100644
--- a/Main/Component/UI/Common/DragContainer.cs
+++ b/Main/Component/UI/Common/DragContainer.cs
@@ -5,7 +5,6 @@
using UnityEngine;
using System.Collections;
-namespace vnxbqy.UI {
public class DragContainer:MonoBehaviour {
@@ -13,7 +12,6 @@
}
-}
diff --git a/Main/Component/UI/Common/DragItem.cs b/Main/Component/UI/Common/DragItem.cs
index 0e6f8da..1746546 100644
--- a/Main/Component/UI/Common/DragItem.cs
+++ b/Main/Component/UI/Common/DragItem.cs
@@ -7,8 +7,6 @@
using UnityEngine.EventSystems;
using System;
-namespace vnxbqy.UI {
-
public class DragItem:MonoBehaviour,ICanvasRaycastFilter,IBeginDragHandler,IDragHandler,IEndDragHandler {
[SerializeField]
@@ -55,8 +53,6 @@
return raycastTarget;
}
}
-
-}
diff --git a/Main/Component/UI/Common/DynamicCyclicScroll.cs b/Main/Component/UI/Common/DynamicCyclicScroll.cs
index 5e63227..83681db 100644
--- a/Main/Component/UI/Common/DynamicCyclicScroll.cs
+++ b/Main/Component/UI/Common/DynamicCyclicScroll.cs
@@ -7,8 +7,6 @@
using UnityEngine.UI;
using System.Collections.Generic;
-namespace vnxbqy.UI
-{
public class DynamicCyclicScroll : CyclicScroll
{
@@ -38,7 +36,6 @@
}
-}
diff --git a/Main/Component/UI/Common/FrameEffect.cs b/Main/Component/UI/Common/FrameEffect.cs
index 88563e3..8572c88 100644
--- a/Main/Component/UI/Common/FrameEffect.cs
+++ b/Main/Component/UI/Common/FrameEffect.cs
@@ -7,8 +7,6 @@
using UnityEngine.UI;
using System;
-namespace vnxbqy.UI
-{
public class FrameEffect : MonoBehaviour
{
@@ -92,7 +90,6 @@
}
-}
diff --git a/Main/Component/UI/Common/FuncEnable.cs b/Main/Component/UI/Common/FuncEnable.cs
index 1f46340..f5e3877 100644
--- a/Main/Component/UI/Common/FuncEnable.cs
+++ b/Main/Component/UI/Common/FuncEnable.cs
@@ -3,8 +3,6 @@
using System.Collections.Generic;
using UnityEngine;
-namespace vnxbqy.UI
-{
public class FuncEnable : MonoBehaviour
{
[SerializeField] int funcOpenKey;
@@ -39,5 +37,4 @@
gameObject.SetActive(true);
}
}
-}
diff --git a/Main/Component/UI/Common/FunctionButton.cs b/Main/Component/UI/Common/FunctionButton.cs
index 73a3f74..b348232 100644
--- a/Main/Component/UI/Common/FunctionButton.cs
+++ b/Main/Component/UI/Common/FunctionButton.cs
@@ -10,8 +10,6 @@
using System;
-namespace vnxbqy.UI
-{
public class FunctionButton : Button
@@ -256,7 +254,6 @@
}
-}
diff --git a/Main/Component/UI/Common/FunctionButtonGroup.cs b/Main/Component/UI/Common/FunctionButtonGroup.cs
index 4fe1177..1bd65c7 100644
--- a/Main/Component/UI/Common/FunctionButtonGroup.cs
+++ b/Main/Component/UI/Common/FunctionButtonGroup.cs
@@ -8,8 +8,6 @@
using UnityEngine.UI;
using UnityEngine.Events;
-namespace vnxbqy.UI
-{
public class FunctionButtonGroup : MonoBehaviour
{
@@ -263,7 +261,6 @@
}
}
-}
diff --git a/Main/Component/UI/Common/GameObjectDefaultActive.cs b/Main/Component/UI/Common/GameObjectDefaultActive.cs
index 8dd9e8e..46aa723 100644
--- a/Main/Component/UI/Common/GameObjectDefaultActive.cs
+++ b/Main/Component/UI/Common/GameObjectDefaultActive.cs
@@ -5,7 +5,6 @@
using UnityEngine;
using System.Collections;
-namespace vnxbqy.UI {
public class GameObjectDefaultActive:MonoBehaviour {
[SerializeField]
@@ -21,7 +20,6 @@
}
-}
diff --git a/Main/Component/UI/Common/InputSpecialWordLimit.cs b/Main/Component/UI/Common/InputSpecialWordLimit.cs
index 815479f..46b515b 100644
--- a/Main/Component/UI/Common/InputSpecialWordLimit.cs
+++ b/Main/Component/UI/Common/InputSpecialWordLimit.cs
@@ -4,8 +4,6 @@
using System.Globalization;
using UnityEngine;
using UnityEngine.UI;
-namespace vnxbqy.UI
-{
[RequireComponent(typeof(InputField))]
public class InputSpecialWordLimit : MonoBehaviour
{
@@ -39,6 +37,5 @@
return addedChar;
}
}
-}
diff --git a/Main/Component/UI/Common/LanguageReplace.cs b/Main/Component/UI/Common/LanguageReplace.cs
index 2a8a2ca..a52dfba 100644
--- a/Main/Component/UI/Common/LanguageReplace.cs
+++ b/Main/Component/UI/Common/LanguageReplace.cs
@@ -3,8 +3,6 @@
using UnityEngine;
using UnityEngine.UI;
using System;
-namespace vnxbqy.UI
-{
//璁剧疆鏂囨湰锛屾潵婧愯鍙朖.杩涘叆娓告垙鍓嶇殑鎻愮ず.xlsx
public class LanguageReplace : MonoBehaviour
{
@@ -20,4 +18,3 @@
}
}
-}
diff --git a/Main/Component/UI/Common/LongPressButton.cs b/Main/Component/UI/Common/LongPressButton.cs
index a4d85a4..b84d4ce 100644
--- a/Main/Component/UI/Common/LongPressButton.cs
+++ b/Main/Component/UI/Common/LongPressButton.cs
@@ -6,8 +6,6 @@
using UnityEngine.Serialization;
using UnityEngine.UI;
-namespace vnxbqy.UI
-{
public class LongPressButton : ButtonEx
{
public class ButtonPressEvent : UnityEvent { }
@@ -97,6 +95,4 @@
m_LongPress = false;
m_IsButtonDown = false;
}
- }
-}
-
+ }
\ No newline at end of file
diff --git a/Main/Component/UI/Common/MultipleSmoothSlider.cs b/Main/Component/UI/Common/MultipleSmoothSlider.cs
index 5dc7eb8..a4b6f57 100644
--- a/Main/Component/UI/Common/MultipleSmoothSlider.cs
+++ b/Main/Component/UI/Common/MultipleSmoothSlider.cs
@@ -3,8 +3,6 @@
using UnityEngine.UI;
using System;
-namespace vnxbqy.UI
-{
[DisallowMultipleComponent]
public class MultipleSmoothSlider : MonoBehaviour
@@ -90,6 +88,4 @@
value = m_Value;
}
- }
-}
-
+ }
\ No newline at end of file
diff --git a/Main/Component/UI/Common/NestingScrollRect.cs b/Main/Component/UI/Common/NestingScrollRect.cs
index 75f5137..1cab040 100644
--- a/Main/Component/UI/Common/NestingScrollRect.cs
+++ b/Main/Component/UI/Common/NestingScrollRect.cs
@@ -3,8 +3,6 @@
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
-namespace vnxbqy.UI
-{
[RequireComponent(typeof(ScrollRect))]
public class NestingScrollRect : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
{
@@ -54,5 +52,3 @@
scrollRect.OnEndDrag(eventData);
}
}
-}
-
diff --git a/Main/Component/UI/Common/OnOffToggle.cs b/Main/Component/UI/Common/OnOffToggle.cs
index d9060d1..2835b04 100644
--- a/Main/Component/UI/Common/OnOffToggle.cs
+++ b/Main/Component/UI/Common/OnOffToggle.cs
@@ -7,8 +7,6 @@
using UnityEngine.UI;
using UnityEngine.Events;
-namespace vnxbqy.UI
-{
public class OnOffToggle : MonoBehaviour
{
@@ -55,9 +53,4 @@
m_OnShow.SetActive(_isOn);
m_OffShow.SetActive(!_isOn);
}
- }
-
-}
-
-
-
+ }
\ No newline at end of file
diff --git a/Main/Component/UI/Common/PopupMessage.cs b/Main/Component/UI/Common/PopupMessage.cs
index 8860128..170592b 100644
--- a/Main/Component/UI/Common/PopupMessage.cs
+++ b/Main/Component/UI/Common/PopupMessage.cs
@@ -6,7 +6,6 @@
using System.Collections;
using UnityEngine.UI;
-namespace vnxbqy.UI {
public class PopupMessage:MonoBehaviour {
@@ -50,9 +49,4 @@
}
-
-
-}
-
-
diff --git a/Main/Component/UI/Common/PopupMessageContainer.cs b/Main/Component/UI/Common/PopupMessageContainer.cs
index cad23f1..d2bb252 100644
--- a/Main/Component/UI/Common/PopupMessageContainer.cs
+++ b/Main/Component/UI/Common/PopupMessageContainer.cs
@@ -6,8 +6,6 @@
using System.Collections;
using System.Collections.Generic;
-namespace vnxbqy.UI {
-
[RequireComponent(typeof(RectTransform))]
public class PopupMessageContainer:MonoBehaviour {
@@ -75,8 +73,5 @@
}
-
-}
-
diff --git a/Main/Component/UI/Common/SmoothMask.cs b/Main/Component/UI/Common/SmoothMask.cs
index 3907fcf..14d04c5 100644
--- a/Main/Component/UI/Common/SmoothMask.cs
+++ b/Main/Component/UI/Common/SmoothMask.cs
@@ -96,6 +96,9 @@
}
private void UpdateChildMaterialSmoothMask() {
+ if (null == canvasScaler)
+ return;
+
var scaleX = canvasScaler.transform.localScale.x;
var scaleY = canvasScaler.transform.localScale.y;
diff --git a/Main/Component/UI/Common/SmoothSlider.cs b/Main/Component/UI/Common/SmoothSlider.cs
index 95c2f29..043f5a3 100644
--- a/Main/Component/UI/Common/SmoothSlider.cs
+++ b/Main/Component/UI/Common/SmoothSlider.cs
@@ -3,8 +3,6 @@
using UnityEngine;
using UnityEngine.UI;
-namespace vnxbqy.UI
-{
[DisallowMultipleComponent]
@@ -68,5 +66,3 @@
}
}
-
-}
diff --git a/Main/Component/UI/Decorate/Tweens/PositionTween.cs b/Main/Component/UI/Decorate/Tweens/PositionTween.cs
index 20c9db1..811eff9 100644
--- a/Main/Component/UI/Decorate/Tweens/PositionTween.cs
+++ b/Main/Component/UI/Decorate/Tweens/PositionTween.cs
@@ -1,8 +1,6 @@
锘縰sing UnityEngine;
using System.Collections;
-namespace vnxbqy.UI
-{
public class PositionTween : Tween
{
@@ -44,5 +42,4 @@
this.rectTransform.anchoredPosition = CalculateVector3();
}
- }
-}
+ }
\ No newline at end of file
diff --git a/Main/Component/UI/Decorate/Tweens/ScaleTween.cs b/Main/Component/UI/Decorate/Tweens/ScaleTween.cs
index 257050d..a03c80d 100644
--- a/Main/Component/UI/Decorate/Tweens/ScaleTween.cs
+++ b/Main/Component/UI/Decorate/Tweens/ScaleTween.cs
@@ -1,8 +1,6 @@
锘縰sing UnityEngine;
using System.Collections;
-namespace vnxbqy.UI
-{
public class ScaleTween : Tween
{
public override void SetStartState()
@@ -35,6 +33,4 @@
this.transform.localScale = CalculateVector3();
}
- }
-
-}
\ No newline at end of file
+ }
\ No newline at end of file
diff --git a/Main/Component/UI/Decorate/Tweens/Tween.cs b/Main/Component/UI/Decorate/Tweens/Tween.cs
index edfe4db..8b18ab9 100644
--- a/Main/Component/UI/Decorate/Tweens/Tween.cs
+++ b/Main/Component/UI/Decorate/Tweens/Tween.cs
@@ -2,8 +2,6 @@
using System.Collections;
using System;
-namespace vnxbqy.UI
-{
[RequireComponent(typeof(RectTransform))]
public class Tween : MonoBehaviour
{
@@ -232,5 +230,4 @@
PingPongOnce,
}
}
-}
diff --git a/Main/Component/UI/Effect/UIEffect.cs b/Main/Component/UI/Effect/UIEffect.cs
index 624af85..b074a1a 100644
--- a/Main/Component/UI/Effect/UIEffect.cs
+++ b/Main/Component/UI/Effect/UIEffect.cs
@@ -10,7 +10,6 @@
using UnityEditor;
#endif
-using CJ.Wait;
public class UIEffect : MonoBehaviour
diff --git a/Main/Component/UI/Manager/UIEventTrigger.cs b/Main/Component/UI/Manager/UIEventTrigger.cs
index 446f056..e9abe30 100644
--- a/Main/Component/UI/Manager/UIEventTrigger.cs
+++ b/Main/Component/UI/Manager/UIEventTrigger.cs
@@ -3,7 +3,6 @@
using UnityEngine;
using UnityEngine.EventSystems;
using System;
-using CJ.Wait;
public class UIEventTrigger : EventTrigger {
public delegate void ObjectDelegate(GameObject go,PointerEventData eventData);
diff --git a/Main/UI/Launch.meta b/Main/System/Chat.meta
similarity index 76%
copy from Main/UI/Launch.meta
copy to Main/System/Chat.meta
index f4af743..dd22f00 100644
--- a/Main/UI/Launch.meta
+++ b/Main/System/Chat.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 91e90d274ca17e84aab980cb88d23de7
+guid: 75379fcf96e9da74a849e8fc132ff30f
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Main/System/Chat/ChatData.cs b/Main/System/Chat/ChatData.cs
new file mode 100644
index 0000000..ffe5a31
--- /dev/null
+++ b/Main/System/Chat/ChatData.cs
@@ -0,0 +1,226 @@
+锘縰sing System.Text;
+using System.Collections;
+using vnxbqy.UI;
+using System;
+
+public class ChatData
+{
+ // public ChatData(string content)
+ // {
+ // _content = content;
+ // if (ChatCenter.s_VoiceRegex.IsMatch(_content))
+ // {
+ // _content = ChatCenter.s_VoiceRegex.Replace(_content, string.Empty);
+ // }
+ // richText = new StringBuilder();
+ // richText.Length = 0;
+ // createTime = DateTime.Now;
+ // }
+
+ private string _content = string.Empty;
+
+ public string content
+ {
+ get
+ {
+ if (richText.Length > 0)
+ {
+ return richText.ToString();
+ }
+ return _content;
+ }
+ protected set
+ {
+ _content = value;
+ }
+ }
+
+ // public ChatInfoType type { get; protected set; }
+
+ // public DateTime createTime { get; set; }
+
+ // private ChatInfoType m_DetailType = ChatInfoType.World;
+ // public ChatInfoType detailType
+ // {
+ // get
+ // {
+ // return m_DetailType;
+ // }
+ // set
+ // {
+ // m_DetailType = value;
+ // }
+ // }
+
+ public StringBuilder richText;
+
+ public ArrayList infoList = new ArrayList();
+}
+
+public class ChatUeseData : ChatData
+{
+ public ChatUeseData()
+ {
+
+ }
+
+ public ChatUeseData(string _content, int player, string name, string extra)// : base(_content)
+ {
+ this.player = player;
+ this.name = name;
+ extra = UIHelper.ServerStringTrim(extra);
+ this.extra = extra;
+ this.job = 1;
+ IsSound = false;
+ var extraLength = extra.Length;
+ if (extraLength > 1)
+ {
+ vipLv = int.Parse(extra.Substring(0, 2));
+ }
+ if (extraLength > 2)
+ {
+ isGm = byte.Parse(extra.Substring(2, 1)) == 1;
+ }
+ if (extraLength > 3)
+ {
+ job = byte.Parse(extra.Substring(3, 1));
+ }
+ if (extraLength > 4)
+ {
+ bubbleId = int.Parse(extra.Substring(4, extraLength > 5 ? 2 : 1));
+ }
+ if (extraLength > 12)
+ {
+ serverGroupId = int.Parse(extra.Substring(6, 7));
+ }
+ if (extraLength > 16)
+ {
+ level = int.Parse(extra.Substring(13, 4));
+ }
+ // if (ChatCenter.s_VoiceRegex.IsMatch(_content))
+ // {
+ // var _match = ChatCenter.s_VoiceRegex.Match(_content);
+ // soundTick = long.Parse(_match.Groups[1].Value);
+ // soundLength = byte.Parse(_match.Groups[2].Value)/10.0f;
+ // IsSound = true;
+ // }
+
+ string[] parts = extra.Split('|');
+ face = (parts.Length > 4 && int.TryParse(parts[4], out var result1)) ? result1 : 0;
+ facePic = (parts.Length > 5 && int.TryParse(parts[5], out var result2)) ? result2 : 0;
+ }
+ public int player { get; protected set; }
+ public string name { get; protected set; }
+ public string extra { get; protected set; }
+ public int vipLv { get; protected set; }
+ public bool isGm { get; protected set; }
+ public int job { get; protected set; }
+ public int bubbleId { get; protected set; }
+ public long soundTick { get; private set; }
+ public bool IsSound { get; private set; }
+ public float soundLength { get; private set; }
+ public int serverGroupId { get; private set; }
+ public int level { get; private set; }
+ public int face { get; private set; }
+ public int facePic { get; private set; }
+}
+
+public class ChatSystemData : ChatData
+{
+ // public ChatSystemData(string content) : base(content)
+ // {
+ // type = ChatInfoType.System;
+ // }
+}
+
+
+// 鍠囧彮鏆傛椂涓嶈浜�
+// public class ChatTrumpetData : ChatUeseData
+// {
+// public ChatTrumpetData(string content, int player, string name, string extra, byte speakType, string accId) : base(content, player, name, extra)
+// {
+// this.speakType = speakType;
+// this.accId = accId;
+// // type = ChatInfoType.Trumpet;
+// }
+
+// public byte speakType { get; protected set; }
+
+// public string accId { get; protected set; }
+// }
+
+public class ChatWorldData : ChatUeseData
+{
+ // public ChatWorldData(string content, int player, string name, string extra) : base(content, player, name, extra)
+ // {
+ // type = ChatInfoType.World;
+ // }
+}
+
+public class ChatAreaData : ChatUeseData
+{
+ // public ChatAreaData(string content, int player, string name, string extra) : base(content, player, name, extra)
+ // {
+ // type = ChatInfoType.Area;
+ // }
+}
+
+public class ChatCrossServerData : ChatUeseData
+{
+ // public ChatCrossServerData(string content, int player, string name, string extra) : base(content, player, name, extra)
+ // {
+ // type = ChatInfoType.CrossServer;
+ // }
+}
+
+public class ChatFactionData : ChatUeseData
+{
+ // public ChatFactionData(string content, int player, string name, string extra, ChatInfoType detailType = ChatInfoType.default1) : base(content, player, name, extra)
+ // {
+ // type = ChatInfoType.default1;
+ // this.detailType = detailType;
+ // }
+}
+
+public class ChatTeamData : ChatUeseData
+{
+ // public ChatTeamData(string content, int player, string name, string extra, ChatInfoType detailType = ChatInfoType.Team) : base(content, player, name, extra)
+ // {
+ // type = ChatInfoType.Team;
+ // this.detailType = detailType;
+ // }
+}
+
+public class ChatFamilyData : ChatUeseData
+{
+ // public ChatFamilyData(string content, int player, string name, string extra, ChatInfoType detailType = ChatInfoType.Fairy) : base(content, player, name, extra)
+ // {
+ // type = ChatInfoType.Fairy;
+ // this.detailType = detailType;
+ // }
+}
+
+public class ChatInviteData : ChatUeseData
+{
+ // public ChatInviteData(string content, int player, string name, string extra) : base(content, player, name, extra)
+ // {
+ // type = ChatInfoType.Invite;
+ // }
+}
+
+public class ChatFriendData : ChatUeseData
+{
+ // public ChatFriendData(string content, int player, string name, string extra, string toName, byte talkType, uint toPlayer) : base(content, player, name, extra)
+ // {
+ // type = ChatInfoType.Friend;
+ // this.toName = toName;
+ // this.talkType = talkType;
+ // this.toPlayer = (int)toPlayer;
+ // }
+
+ public string toName { get; protected set; }
+
+ public byte talkType { get; protected set; }
+
+ public int toPlayer { get; protected set; }
+}
\ No newline at end of file
diff --git a/Main/System/Chat/ChatData.cs.meta b/Main/System/Chat/ChatData.cs.meta
new file mode 100644
index 0000000..ce30f07
--- /dev/null
+++ b/Main/System/Chat/ChatData.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e982ff8b244efbc40b4832c2ed2df164
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/Message/MessageWin.cs b/Main/System/Message/MessageWin.cs
index 7eae546..7f6bb80 100644
--- a/Main/System/Message/MessageWin.cs
+++ b/Main/System/Message/MessageWin.cs
@@ -1,302 +1,313 @@
-锘�// using System.Collections;
-// using System.Collections.Generic;
-// using UnityEngine;
-// using UnityEngine.UI;
-// using CJ.Wait;
-// using System;
+using UnityEngine;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine.UI;
+using DG.Tweening;
+using Cysharp.Threading.Tasks;
-// 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; //鏄剧ず鍦ㄨ亰澶╃晫闈㈢殑浣嶇疆
+using System;
-// [SerializeField] RectTransform m_ContainerServerTip;
-// [SerializeField] ScaleTween m_ServerTipScaleTween;
-// [SerializeField] PositionTween m_ServerTipPositionTween;
-// [SerializeField] RichText m_ServerTip;
-// [SerializeField, Header("鍏ㄦ湇骞挎挱鍋滅暀鏃堕棿")] float m_ServerTipKeepTime = 1.5f;
+using System.Text.RegularExpressions;
+using DG.Tweening;
-// [SerializeField] RectTransform m_ContainerGM;
-// [SerializeField] Text m_GmRichText;
-// [SerializeField] ScrollerController m_ScrollControl;
-// [SerializeField] Toggle m_AutoPopToggle;
-// [SerializeField] Toggle m_AutoRefreshToggle;
-// [SerializeField] Button m_GMClose;
+public class MessageWin : UIBase
+{
+ [SerializeField] RectTransform m_ContainerNormalHint;
+ [SerializeField] RichText m_NormalHint;
+ [SerializeField] RectTransform m_ContainerChatHint;
+ [SerializeField] RichText m_NormalChatHint; //鏄剧ず鍦ㄨ亰澶╃晫闈㈢殑浣嶇疆
-// bool m_ServerTipPrepared = true;
+ [SerializeField] RectTransform m_ContainerServerTip;
+ [SerializeField] ScaleTween m_ServerTipScaleTween;
+ [SerializeField] PositionTween m_ServerTipPositionTween;
+ [SerializeField] RichText m_ServerTip;
+ [SerializeField, Header("鍏ㄦ湇骞挎挱鍋滅暀鏃堕棿")] float m_ServerTipKeepTime = 1.5f;
-// protected override void BindController()
-// {
-// }
+ [SerializeField] RectTransform m_ContainerGM;
+ [SerializeField] Text m_GmRichText;
+ [SerializeField] ScrollerController m_ScrollControl;
+ [SerializeField] Toggle m_AutoPopToggle;
+ [SerializeField] Toggle m_AutoRefreshToggle;
+ [SerializeField] Button m_GMClose;
-// 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);
-// }
+ bool m_ServerTipPrepared = true;
-// protected override void OnPreOpen()
-// {
-// m_ServerTipPrepared = true;
+ // 鐢熷懡鍛ㄦ湡
+ protected override void Awake()
+ {
+ base.Awake();
+ }
-// #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);
+ protected override void Start()
+ {
+ base.Start();
+ // 鍒濆鍖栨暟鎹�
+ }
-// if (ServerTipDetails.requireOpenGM)
-// {
-// if (hasOnFrom)
-// {
-// OnGMOpen();
-// }
-// ServerTipDetails.requireOpenGM = false;
-// }
-// }
+ protected override void InitComponent()
+ {
+ base.InitComponent();
+ // 鍒濆鍖栫粍浠�
+ 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 OnAfterOpen()
-// {
-// }
+ protected override void OnPreOpen()
+ {
+ // 瀛愮被鍙互閲嶅啓姝ゆ柟娉曡繘琛岄澶栫殑棰勬墦寮�鎿嶄綔
+ base.OnPreOpen();
+ m_ServerTipPrepared = true;
-// protected override void OnPreClose()
-// {
-// ServerTipDetails.normalHintRefresh -= CheckNormalHint;
-// ServerTipDetails.serverHintRefresh -= CheckServerHint;
-// ServerTipDetails.gmMessageRefresh -= DisplayGM;
-// ServerTipDetails.gmOpenEvent -= GmOpenEvent;
-// ServerTipDetails.chatHintRefresh -= CheckChatHint;
-// }
+#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);
-// protected override void OnAfterClose()
-// {
-// }
+ if (ServerTipDetails.requireOpenGM)
+ {
+ if (hasOnFrom)
+ {
+ OnGMOpen();
+ }
+ ServerTipDetails.requireOpenGM = false;
+ }
+ }
-// private void GmOpenEvent()
-// {
-// if (ServerTipDetails.requireOpenGM)
-// {
-// OnGMOpen();
-// ServerTipDetails.requireOpenGM = false;
-// }
-// }
+ // UI浜嬩欢
+ protected override void OnOpen()
+ {
+ base.OnOpen();
+ // 绐楀彛鎵撳紑鏃剁殑閫昏緫
+ }
-// void CheckNormalHint()
-// {
-// var hint = ServerTipDetails.RequireNormalHint();
-// if (hint != null)
-// {
-// DisplayNormalHint(hint);
-// }
-// }
+ protected override void OnClose()
+ {
+ base.OnClose();
+ ServerTipDetails.normalHintRefresh -= CheckNormalHint;
+ ServerTipDetails.serverHintRefresh -= CheckServerHint;
+ ServerTipDetails.gmMessageRefresh -= DisplayGM;
+ ServerTipDetails.gmOpenEvent -= GmOpenEvent;
+ ServerTipDetails.chatHintRefresh -= CheckChatHint;
+ // 绐楀彛鍏抽棴鏃剁殑閫昏緫
+
+ }
-// 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 GmOpenEvent()
+ {
+ if (ServerTipDetails.requireOpenGM)
+ {
+ OnGMOpen();
+ ServerTipDetails.requireOpenGM = false;
+ }
+ }
-// private void OnHintDisplayComplete(Component com)
-// {
-// com.DoWaitStop();
-// com.SetActive(false);
-// }
+ private void OnDisable()
+ {
+ m_ContainerNormalHint.SetActive(false);
+ m_ContainerChatHint.SetActive(false);
+ DisableServerTip();
+ StopAllCoroutines();
+ }
-// void CheckServerHint()
-// {
-// if (!m_ServerTipPrepared)
-// {
-// return;
-// }
-// var hint = ServerTipDetails.RequireServerTip();
-// if (hint != null && gameObject.activeInHierarchy)
-// {
-// DisplayServerHint(hint);
-// }
-// else
-// {
-// DisableServerTip();
-// }
-// }
+ void CheckNormalHint()
+ {
+ var hint = ServerTipDetails.RequireNormalHint();
+ if (hint != null)
+ {
+ DisplayNormalHint(hint);
+ }
+ }
-// 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);
-// }
+ 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 ServerTipStartHide(Component comp)
-// {
-// m_ServerTipPositionTween.Play();
-// TimeMgr.Instance.Register(m_ServerTipPositionTween, ServerTipTweenComplete, m_ServerTipPositionTween.duration);
-// }
+ private void OnHintDisplayComplete(Component com)
+ {
+ com.DoWaitStop();
+ com.SetActive(false);
+ }
-// private void ServerTipTweenComplete(Component comp)
-// {
-// m_ServerTipPrepared = true;
-// DisableServerTip();
-// CheckServerHint();
-// }
+ void CheckServerHint()
+ {
+ if (!m_ServerTipPrepared)
+ {
+ return;
+ }
+ var hint = ServerTipDetails.RequireServerTip();
+ if (hint != null && gameObject.activeInHierarchy)
+ {
+ DisplayServerHint(hint);
+ }
+ else
+ {
+ DisableServerTip();
+ }
+ }
-// 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();
-// }
+ 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();
-// }
-// }
-// }
+ 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 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 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 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);
+ }
+ }
-// 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);
+ }
-// 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 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();
-// }
-// }
-// }
-
+ void DisplayChatHint(SystemHintData hint)
+ {
+ // TODO YYL
+ // if (!UIManager.Instance.IsOpened<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();
+ }
+}
diff --git a/Main/System/Message/MessageWin.cs.meta b/Main/System/Message/MessageWin.cs.meta
index 8d6285a..5abe19c 100644
--- a/Main/System/Message/MessageWin.cs.meta
+++ b/Main/System/Message/MessageWin.cs.meta
@@ -1,8 +1,7 @@
fileFormatVersion: 2
guid: d7426a87e4ad9af4a8fd4bbabab7c32d
-timeCreated: 1499772891
-licenseType: Free
MonoImporter:
+ externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
diff --git a/Main/System/Message/SysNotifyMgr.cs b/Main/System/Message/SysNotifyMgr.cs
new file mode 100644
index 0000000..6efe145
--- /dev/null
+++ b/Main/System/Message/SysNotifyMgr.cs
@@ -0,0 +1,312 @@
+锘縰sing vnxbqy.UI;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Text.RegularExpressions;
+
+using UnityEngine;
+using UnityEngine.UI;
+using Cysharp.Threading.Tasks;
+
+
+public class SysNotifyMgr : SingletonMonobehaviour<SysNotifyMgr>
+
+{
+ /// <summary>
+ /// 鏈嶅姟绔笅鍙戠殑鏁版嵁
+ /// </summary>
+ // TODO YYL
+ // private H0212_tagNotifyCode.tagNotifyStr[] sysNotifyMsg;
+
+ private ArrayList tipInfoList = new ArrayList();
+
+ private Dictionary<string, Func<string, ArrayList, bool>> notifyConditionDict = new Dictionary<string, Func<string, ArrayList, bool>>();
+
+ public event Action<string, ArrayList> sysNotifyEvent;
+
+ public event Action<string> OnSystemNotifyEvent;
+ /// <summary>
+ /// UserData鍘荤┖鏍煎鐞�
+ /// </summary>
+ public static Regex s_UserDataSpaceRegex = new Regex(@"'([0-9]+)':[ ]+\[(.*?)\]", RegexOptions.Singleline);
+
+ private void Awake()
+ {
+ // TODO YYL
+ // DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent;
+ // StageLoad.Instance.onStageLoadFinish += OnStageLoadFinish;
+ Co_Instance().Forget();
+ }
+
+ private async UniTask Co_Instance()
+ {
+ await UniTask.Yield();
+ //TODO YYL
+ // var instance = BattleHint.Instance;
+ }
+
+ private void LateUpdate()
+ {
+#if UNITY_EDITOR
+ if (Input.GetKeyDown(KeyCode.F3))
+ {
+ ServerTipDetails.OpenGMPanel();
+ }
+#endif
+ }
+
+ protected override void OnDestroy()
+ {
+ base.OnDestroy();
+ // TODO YYL
+ // DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= BeforePlayerDataInitializeEvent;
+ // StageLoad.Instance.onStageLoadFinish -= OnStageLoadFinish;
+ }
+
+ private void OnStageLoadFinish()
+ {
+ ServerTipDetails.OnStageLoadFinish();
+ // TODO YYL
+ // BattleHint.Instance.OnStageLoadFinish();
+ }
+
+ private void BeforePlayerDataInitializeEvent()
+ {
+ // TODO YYL
+ // ScrollTip.m_Hints.Clear();
+ ServerTipDetails.ClearHint();
+ }
+
+ // // TODO YYL
+ // public void ReceiveNotifyCode(H0212_tagNotifyCode vNetData)
+ // {
+ // if (vNetData != null)
+ // {
+ // sysNotifyMsg = vNetData.Pars;
+
+ // tipInfoList.Clear();
+ // for (int i = 0; i < sysNotifyMsg.Length; i++)
+ // {
+ // if (sysNotifyMsg[i].Len != 0)
+ // {
+ // var _msg = sysNotifyMsg[i].Msg;
+ // _msg = _msg.Replace(" ", string.Empty);
+ // tipInfoList.Add(_msg);
+ // }
+ // else
+ // {
+ // tipInfoList.Add(sysNotifyMsg[i].MsgInt);
+ // }
+ // }
+
+ // if (sysNotifyEvent != null)
+ // {
+ // sysNotifyEvent(vNetData.Msg, tipInfoList);
+ // }
+
+ // GetSysMsg(vNetData.Msg);
+ // }
+ // }
+
+ void GetSysMsg(string key)
+ {
+ ///鏍规嵁key浠庣郴缁熶俊鎭〃鍙栧埌娑堟伅绫诲瀷
+ SysInfoConfig cfg = SysInfoConfig.Get(key);
+ if (cfg == null)
+ {
+#if UNITY_EDITOR
+ string hint = Language.Get("L1093", key);
+ // TODO YYL
+ // ScrollTip.ShowTip(hint);
+ // ChatCtrl.Inst.RevChatInfo(hint);
+#endif
+ }
+ else
+ {
+ if (!string.IsNullOrEmpty(cfg.richText))
+ {
+ if (notifyConditionDict.ContainsKey(cfg.key))
+ {
+ try
+ {
+ if (!notifyConditionDict[cfg.key](cfg.key, tipInfoList))
+ {
+ return;
+ }
+ }
+ catch (Exception e)
+ {
+ Debug.Log(e.StackTrace);
+ }
+ }
+ AnalysisSysmsg(cfg);
+ }
+ if (OnSystemNotifyEvent != null)
+ {
+ OnSystemNotifyEvent(cfg.key);
+ }
+ }
+ }
+
+ public void RegisterCondition(string key, Func<string, ArrayList, bool> condition)
+ {
+ if (!notifyConditionDict.ContainsKey(key))
+ {
+ notifyConditionDict.Add(key, condition);
+ }
+ }
+
+ public void ShowTip(string key, params object[] msg)
+ {
+ SysInfoConfig cfg = SysInfoConfig.Get(key);
+ if (cfg != null)
+ {
+ tipInfoList.Clear();
+ tipInfoList.AddRange(msg);
+ AnalysisSysmsg(cfg);
+ }
+ }
+
+ void AnalysisSysmsg(SysInfoConfig cfg)
+ {
+ SysNotifySound(cfg.sound);
+ SysNotifyFx(cfg.effect);
+ SysNotifyRichText(cfg.type, cfg.richText, cfg.order);
+ }
+
+ void SysNotifySound(string msg)
+ {
+ //DesignDebug.Log("闊虫晥淇℃伅" + msg);
+ }
+
+ void SysNotifyFx(string msg)
+ {
+ //DesignDebug.Log("鐗规晥淇℃伅" + msg);
+ }
+
+ void SysNotifyRichText(int[] type, string msg, int order = 0)
+ {
+ if (type == null || type.Length == 0)
+ {
+ return;
+ }
+ for (int i = 0; i < type.Length; i++)
+ {
+ switch ((SysNotifyType)type[i])
+ {
+ case SysNotifyType.SysFixedTip:
+ case SysNotifyType.SysFixedTip1:
+ case SysNotifyType.SysScrollTip:
+ case SysNotifyType.SysIntervalFixedTip:
+ case SysNotifyType.SysMarqueeTip:
+ case SysNotifyType.SysRealmTip:
+ // TODO YYL
+ // if (!PreFightMission.Instance.IsFinished())
+ // {
+ // continue;
+ // }
+ break;
+ }
+ switch ((SysNotifyType)type[i])
+ {
+ case SysNotifyType.SysFixedTip:
+ ServerTipDetails.DisplayNormalTip(msg, tipInfoList);
+ break;
+ case SysNotifyType.SysChatWin:
+ ServerTipDetails.DisplayChatTip(msg, tipInfoList);
+ break;
+ case SysNotifyType.SysFixedTip1:
+ case SysNotifyType.SysScrollTip:
+ // TODO YYL
+ // ScrollTip.ShowTip(msg, tipInfoList, order);
+ break;
+ case SysNotifyType.SysIntervalFixedTip:
+ ServerTipDetails.ShowServerTip(msg, tipInfoList, order);
+ break;
+ case SysNotifyType.SysMarqueeTip:
+ ServerTipDetails.ShowMarquee(msg, tipInfoList,order);
+ break;
+
+ // TODO YYL
+ // case SysNotifyType.SysChanelTip:
+ // ChatCtrl.Inst.RevChatInfo(msg, tipInfoList);
+ // break;
+ // case SysNotifyType.SysFairyQuestionTip:
+ // ChatCtrl.Inst.RevChatInfo(msg, tipInfoList, ChatInfoType.FairyQuestion);
+ // break;
+ // case SysNotifyType.SysFairyTip:
+ // ChatCtrl.Inst.RevChatInfo(msg, tipInfoList, ChatInfoType.FairyTip);
+ // break;
+ // case SysNotifyType.SysTeamTip:
+ // ChatCtrl.Inst.RevChatInfo(msg, tipInfoList, ChatInfoType.TeamTip);
+ // break;
+ case SysNotifyType.SysRealmTip:
+ if (OnSysTipEvent != null)
+ {
+ OnSysTipEvent(type[i], msg, tipInfoList);
+ }
+ break;
+
+ // TODO YYL
+ // case SysNotifyType.SysEvenKill:
+ // BattleHint.Instance.ReceiveEvenKill(msg, tipInfoList);
+ // break;
+ // case SysNotifyType.SysFactionTip:
+ // ChatCtrl.Inst.RevChatInfo(msg, tipInfoList, ChatInfoType.default2);
+ // break;
+
+ }
+ }
+
+ }
+
+ #region 浜嬩欢
+ public static event Action<int, string, ArrayList> OnSysTipEvent;
+ #endregion
+
+ public enum SysNotifyType
+ {
+ SysFixedTip = 1,//鍥哄畾鎻愮ず
+ SysScrollTip = 2,//婊氬姩鎻愮ず
+ SysIntervalFixedTip = 4,//鍏ㄦ湇鍥哄畾娑堟伅鎻愮ず
+ SysMarqueeTip = 5,//璺戦┈鐏�
+ SysChatWin = 6, //鑱婂ぉ浣嶇疆鐨勬彁绀�
+ SysEvenKill = 7,//涓婂彜鎴樺満杩炴潃鎻愮ず
+ SysFixedTip1 = 11,//鍥哄畾鎻愮ず2
+ SysChanelTip = 20,//绯荤粺棰戦亾鏄剧ず
+ SysFairyQuestionTip = 31,//浠欑洘棰戦亾闂瓟鎻愮ず
+ SysFairyTip = 32,//浠欑洘棰戦亾淇℃伅鎻愮ず
+ SysTeamTip = 41,//闃熶紞棰戦亾鎻愮ず
+ SysFactionTip = 51, //闃佃惀棰戦亾鎻愮ず
+ SysRealmTip = 100,//澧冪晫鎻愮ず
+
+ //鍚庣画IL寮�鍙戞坊鍔犻璁�
+ default1 = 200,
+ default2,
+ default3,
+ default4,
+ default5,
+ default6,
+ default7,
+ default8,
+ default9,
+ default10,
+ }
+
+ public int Compare(SystemHintData x, SystemHintData y)
+ {
+ if (x.order.CompareTo(y.order) != 0)
+ {
+ return -x.order.CompareTo(y.order);
+ }
+ return x.appendTime.CompareTo(y.appendTime);
+ }
+}
+
+public class SystemHintData
+{
+ public DateTime appendTime;
+ public string message;
+ public ArrayList extentionData;
+ public int order;
+}
diff --git a/Main/System/Message/SysNotifyMgr.cs.meta b/Main/System/Message/SysNotifyMgr.cs.meta
new file mode 100644
index 0000000..636fd19
--- /dev/null
+++ b/Main/System/Message/SysNotifyMgr.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 08ac47bafc115db42959baf190cbaad1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/Message/WaitCallBack.cs b/Main/System/Message/WaitCallBack.cs
index 5b19d3d..6137ec6 100644
--- a/Main/System/Message/WaitCallBack.cs
+++ b/Main/System/Message/WaitCallBack.cs
@@ -2,8 +2,6 @@
using System.Collections.Generic;
using UnityEngine;
-namespace CJ.Wait
-{
/// <summary>
/// 寤惰繜鍑犵鎵ц浜嬩欢
/// </summary>
@@ -168,5 +166,4 @@
}
}
}
-}
diff --git a/Main/System/Redpoint/Redpoint.cs b/Main/System/Redpoint/Redpoint.cs
index 2f2b95b..1f68524 100644
--- a/Main/System/Redpoint/Redpoint.cs
+++ b/Main/System/Redpoint/Redpoint.cs
@@ -2,8 +2,6 @@
using System.Collections.Generic;
using UnityEngine;
-namespace vnxbqy.UI
-{
public class Redpoint
{
@@ -64,5 +62,3 @@
public int RedpoindId { get; internal set; }
}
-}
-
diff --git a/Main/System/Redpoint/RedpointBehaviour.cs b/Main/System/Redpoint/RedpointBehaviour.cs
index 80062ab..6cb2382 100644
--- a/Main/System/Redpoint/RedpointBehaviour.cs
+++ b/Main/System/Redpoint/RedpointBehaviour.cs
@@ -6,8 +6,6 @@
using System.Collections;
using UnityEngine.UI;
-namespace vnxbqy.UI
-{
public class RedpointBehaviour : MonoBehaviour
{
@@ -116,7 +114,6 @@
}
-}
diff --git a/Main/System/Redpoint/RedpointCenter.cs b/Main/System/Redpoint/RedpointCenter.cs
index ac08e95..b197f86 100644
--- a/Main/System/Redpoint/RedpointCenter.cs
+++ b/Main/System/Redpoint/RedpointCenter.cs
@@ -3,8 +3,6 @@
using UnityEngine;
using System;
-namespace vnxbqy.UI
-{
public class RedpointCenter : Singleton<RedpointCenter>
{
@@ -130,5 +128,3 @@
}
}
-}
-
diff --git a/Main/UI/Launch.meta b/Main/System/Tip.meta
similarity index 76%
copy from Main/UI/Launch.meta
copy to Main/System/Tip.meta
index f4af743..301b7e9 100644
--- a/Main/UI/Launch.meta
+++ b/Main/System/Tip.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 91e90d274ca17e84aab980cb88d23de7
+guid: 8572fb4f5fe742341921a0b8f25be8e2
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Main/System/Tip/MarqueeWin.cs b/Main/System/Tip/MarqueeWin.cs
new file mode 100644
index 0000000..b8f6026
--- /dev/null
+++ b/Main/System/Tip/MarqueeWin.cs
@@ -0,0 +1,134 @@
+锘縰sing UnityEngine;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine.UI;
+using DG.Tweening;
+using Cysharp.Threading.Tasks;
+
+public class MarqueeWin : UIBase
+{
+ // 缁勪欢寮曠敤
+ [SerializeField] RectTransform m_ContainerMarquee;
+ [SerializeField] RichText marqueeText;
+ [SerializeField] RectTransform marqueeBg;
+ [SerializeField] TweenCurve tweenCurve;
+ [SerializeField] UIEffect m_Effect;
+
+ Vector3 fromPos;
+ Vector3 toPos;
+ float m_Time;
+ float duration;
+ int presentCnt = 0;
+ int loopCnt = 1;
+
+ [SerializeField]
+ float speed = 5.0f;
+
+ Coroutine cacheCoroutine = null;
+
+ // 鐢熷懡鍛ㄦ湡
+ protected override void Awake()
+ {
+ base.Awake();
+ // 鍒濆鍖栫粍浠跺紩鐢�
+ fromPos = marqueeText.rectTransform.localPosition;
+ }
+
+ protected override void Start()
+ {
+ base.Start();
+ // 鍒濆鍖栨暟鎹�
+ }
+
+ protected override void OnPreOpen()
+ {
+ // 瀛愮被鍙互閲嶅啓姝ゆ柟娉曡繘琛岄澶栫殑棰勬墦寮�鎿嶄綔
+ base.OnPreOpen();
+
+ m_Time = 0;
+ ServerTipDetails.OnTweening = false;
+ presentCnt = 0;
+ m_ContainerMarquee.SetActive(false);
+ if (cacheCoroutine != null)
+ {
+ StopCoroutine(cacheCoroutine);
+ cacheCoroutine = null;
+ }
+ }
+
+ // UI浜嬩欢
+ protected override void OnOpen()
+ {
+ base.OnOpen();
+ // 绐楀彛鎵撳紑鏃剁殑閫昏緫
+ m_Effect.Play();
+ cacheCoroutine = StartCoroutine(Co_StartTween());
+ }
+
+ protected override void OnClose()
+ {
+ base.OnClose();
+ // 绐楀彛鍏抽棴鏃剁殑閫昏緫
+ }
+
+ IEnumerator Co_StartTween()
+ {
+ yield return new WaitForSeconds(5f);
+ m_ContainerMarquee.SetActive(true);
+ BeginMarquee();
+ }
+
+ void BeginMarquee()
+ {
+ if (presentCnt == 0)
+ {
+ var _hint = ServerTipDetails.RequireMarquee();
+ if (_hint != null)
+ {
+ presentCnt = 0;
+ marqueeText.SetExtenalData(_hint.extentionData);
+ marqueeText.text = _hint.message;
+ }
+ else
+ {
+ CloseWindow();
+ return;
+ }
+ }
+ presentCnt++;
+ marqueeText.rectTransform.localPosition = fromPos;
+ toPos = fromPos;
+ float width = marqueeText.preferredWidth;
+ toPos.x = fromPos.x - marqueeBg.rect.width - width;
+ duration = (width + marqueeBg.rect.width) / speed;
+ ServerTipDetails.OnTweening = true;
+ }
+
+ void OnTweenComp()
+ {
+ m_Time = 0;
+ ServerTipDetails.OnTweening = false;
+ if (presentCnt >= loopCnt)
+ {
+ presentCnt = 0;
+ }
+ BeginMarquee();
+ }
+
+ protected void LateUpdate()
+ {
+ if (ServerTipDetails.OnTweening)
+ {
+ m_Time += Time.deltaTime;
+ if (m_Time <= duration)
+ {
+ float progress = tweenCurve.Evaluate(m_Time / duration);
+ marqueeText.rectTransform.localPosition = Vector3.Lerp(fromPos, toPos, progress);
+ }
+ else
+ {
+ OnTweenComp();
+ }
+ }
+ }
+}
diff --git a/Main/System/Tip/MarqueeWin.cs.meta b/Main/System/Tip/MarqueeWin.cs.meta
new file mode 100644
index 0000000..c92bd1c
--- /dev/null
+++ b/Main/System/Tip/MarqueeWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 33cf9ecf61018054ead9a0dcc8f3d121
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/Tip/ServerTipDetails.cs b/Main/System/Tip/ServerTipDetails.cs
new file mode 100644
index 0000000..0bc95db
--- /dev/null
+++ b/Main/System/Tip/ServerTipDetails.cs
@@ -0,0 +1,255 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Cysharp.Threading.Tasks;
+
+public class ServerTipDetails
+{
+ #region 璺戦┈鐏�
+ public static bool OnTweening = false;
+ private static List<SystemHintData> m_Marquees = new List<SystemHintData>();
+ public static void ShowMarquee(string msg, ArrayList info, int _order, int loopCnt = 1)
+ {
+ m_Marquees.Add(new SystemHintData()
+ {
+ appendTime = DateTime.Now,
+ message = msg,
+ extentionData = info == null ? info : new ArrayList(info),
+ order = _order
+ });
+
+ m_Marquees.Sort(SysNotifyMgr.Instance.Compare);
+
+ if (!CheckOpenMarquee())
+ {
+ return;
+ }
+
+ if (!UIManager.Instance.IsOpened<MarqueeWin>())
+ {
+ UIManager.Instance.OpenWindow<MarqueeWin>();
+ }
+ }
+
+ public static void OnStageLoadFinish()
+ {
+ // if (StageLoad.Instance.currentStage is LoginStage)
+ // {
+ // m_Marquees.Clear();
+ // return;
+ // }
+ Co_StageLoadFinish().Forget();
+ }
+
+ private static async UniTask Co_StageLoadFinish()
+ {
+ await UniTask.Yield();
+ if (CheckOpenMarquee() && m_Marquees.Count > 0)
+ {
+ if (!UIManager.Instance.IsOpened<MarqueeWin>())
+ {
+ UIManager.Instance.OpenWindow<MarqueeWin>();
+ }
+ }
+ }
+
+
+ static bool CheckOpenMarquee()
+ {
+ return true;
+ // TODO YYL
+ // return (StageLoad.Instance.currentStage is DungeonStage) && !StageLoad.Instance.isLoading;
+ }
+
+ public static SystemHintData RequireMarquee()
+ {
+ if (m_Marquees.Count > 0)
+ {
+ var _hint = m_Marquees[0];
+ m_Marquees.RemoveAt(0);
+ return _hint;
+ }
+ return null;
+ }
+
+ #endregion
+
+ #region 鍥哄畾鍏ㄦ湇娑堟伅
+ private static List<SystemHintData> serverHints = new List<SystemHintData>();
+ public static event Action serverHintRefresh;
+ public static void ShowServerTip(string msg, ArrayList info, int order)
+ {
+ serverHints.Add(new SystemHintData()
+ {
+ message = msg,
+ order = order,
+ extentionData = info == null ? info : new ArrayList(info),
+ appendTime = DateTime.Now,
+ });
+
+ serverHints.Sort(SysNotifyMgr.Instance.Compare);
+
+ if (serverHintRefresh != null)
+ {
+ serverHintRefresh();
+ }
+
+ if (!UIManager.Instance.IsOpened<MessageWin>())
+ {
+ UIManager.Instance.OpenWindow<MessageWin>();
+ }
+ }
+
+ public static SystemHintData RequireServerTip()
+ {
+ if (serverHints.Count > 0)
+ {
+ var hint = serverHints[0];
+ serverHints.RemoveAt(0);
+ return hint;
+ }
+ return null;
+ }
+ #endregion
+
+ #region 鏅�氫俊鎭彁绀�
+ private static List<SystemHintData> normalHints = new List<SystemHintData>();
+ public static event Action normalHintRefresh;
+ public static void DisplayNormalTip(string msg, ArrayList info = null)
+ {
+ normalHints.Clear();
+ normalHints.Add(new SystemHintData()
+ {
+ message = msg,
+ order = 0,
+ extentionData = info == null ? info : new ArrayList(info),
+ appendTime = DateTime.Now,
+ });
+ if (normalHintRefresh != null)
+ {
+ normalHintRefresh();
+ }
+ if (!UIManager.Instance.IsOpened<MessageWin>())
+ {
+ UIManager.Instance.OpenWindow<MessageWin>();
+ }
+ }
+
+ public static SystemHintData RequireNormalHint()
+ {
+ if (normalHints.Count > 0)
+ {
+ var hint = normalHints[0];
+ normalHints.RemoveAt(0);
+ return hint;
+ }
+ return null;
+ }
+ #endregion
+
+ #region 鑱婂ぉ鐣岄潰淇℃伅鎻愮ず
+ private static List<SystemHintData> chatHints = new List<SystemHintData>();
+ public static event Action chatHintRefresh;
+ public static void DisplayChatTip(string msg, ArrayList info = null)
+ {
+ chatHints.Clear();
+ chatHints.Add(new SystemHintData()
+ {
+ message = msg,
+ order = 0,
+ extentionData = info == null ? info : new ArrayList(info),
+ appendTime = DateTime.Now,
+ });
+ if (chatHintRefresh != null)
+ {
+ chatHintRefresh();
+ }
+ if (!UIManager.Instance.IsOpened<MessageWin>())
+ {
+ UIManager.Instance.OpenWindow<MessageWin>();
+ }
+ }
+
+ public static SystemHintData RequireChatHint()
+ {
+ if (chatHints.Count > 0)
+ {
+ var hint = chatHints[0];
+ chatHints.RemoveAt(0);
+ return hint;
+ }
+ return null;
+ }
+ #endregion
+ #region GM娑堟伅
+ public static List<string> gmMessages = new List<string>();
+ public static event Action<string> gmMessageRefresh;
+ public static void ReceivePackage(string message)
+ {
+ message = message.Replace("###", string.Empty);
+ if (gmMessages.Count >= 300)
+ {
+ gmMessages.RemoveAt(0);
+ }
+ gmMessages.Add(message);
+
+ if (gmMessageRefresh != null)
+ {
+ gmMessageRefresh(message);
+ }
+ }
+
+ public static event Action gmOpenEvent;
+ public static bool requireOpenGM;
+ public static void OpenGMPanel()
+ {
+ requireOpenGM = true;
+ if (!UIManager.Instance.IsOpened<MessageWin>())
+ {
+ UIManager.Instance.OpenWindow<MessageWin>();
+ }
+ else
+ {
+ if (gmOpenEvent != null)
+ {
+ gmOpenEvent();
+ }
+ }
+ }
+ #endregion
+
+ public static void ClearHint()
+ {
+ serverHints.Clear();
+ m_Marquees.Clear();
+ // queueTrumpetTips.Clear();
+ normalHints.Clear();
+ chatHints.Clear();
+ }
+
+ // #region 鍠囧彮淇℃伅
+ // private static Queue<ChatTrumpetData> queueTrumpetTips = new Queue<ChatTrumpetData>();
+ // public static void ShowTrumpetTip(ChatTrumpetData trumpetData)
+ // {
+ // queueTrumpetTips.Enqueue(trumpetData);
+ // if (!UIManager.Instance.IsOpened<TrumpetWin>())
+ // {
+ // UIManager.Instance.OpenWindow<TrumpetWin>();
+ // }
+ // }
+ // public static ChatTrumpetData RequireTrumpetTip()
+ // {
+ // if (queueTrumpetTips.Count > 0)
+ // {
+ // return queueTrumpetTips.Dequeue();
+ // }
+ // return null;
+ // }
+ // public static int GetTrumpetSurplusCnt()
+ // {
+ // return queueTrumpetTips.Count;
+ // }
+ // #endregion
+}
diff --git a/Main/System/Tip/ServerTipDetails.cs.meta b/Main/System/Tip/ServerTipDetails.cs.meta
new file mode 100644
index 0000000..032110e
--- /dev/null
+++ b/Main/System/Tip/ServerTipDetails.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 618febf3610033745acf7530fc007966
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/UI/Launch.meta b/Main/UI/Decorate.meta
similarity index 77%
rename from Main/UI/Launch.meta
rename to Main/UI/Decorate.meta
index f4af743..3910d07 100644
--- a/Main/UI/Launch.meta
+++ b/Main/UI/Decorate.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 91e90d274ca17e84aab980cb88d23de7
+guid: 7afe0dfa12d3fb54d95a2563bc0e019e
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Main/UI/Login.meta b/Main/UI/Login.meta
deleted file mode 100644
index 99ddaf1..0000000
--- a/Main/UI/Login.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: bef9e971d62416147ae8006de5cbff6a
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
--
Gitblit v1.8.0