| Main/System/Chat/ChatBubbleBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Chat/ChatBulletView.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Chat/ChatManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Chat/ChatPlayerMineCell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Chat/ChatPlayerOtherCell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Chat/ChatSysCell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Chat/ChatWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Guild/GuildBaseWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/HeroUI/HeroUIManager.Reborn.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Main/HomeWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/Utility/OperationLogCollect.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/System/Chat/ChatBubbleBehaviour.cs
@@ -37,21 +37,16 @@ Refresh(); } public void DisplayContent(string content, bool _left = false) public void DisplayContent(string content) { if (m_Target == null) { return; } left = _left; m_PreferredWidth = true; var richText = m_Target as RichText; if (richText != null && !left) { richText.AutoNewLine = false; } m_Target.text = content; if (richText != null) { richText.AutoNewLine = true; @@ -157,50 +152,27 @@ rect.sizeDelta = sizeDelta; } SetAnchor(m_Target.rectTransform); if (m_Target.rectTransform.anchorMin != Vector2.up) { m_Target.rectTransform.anchorMin = Vector2.up; } if (m_Target.rectTransform.anchorMax != Vector2.up) { m_Target.rectTransform.anchorMax = Vector2.up; } if (m_Target.rectTransform.pivot != Vector2.up) { m_Target.rectTransform.pivot = Vector2.up; } float top = padding.top; Vector2 position = Vector2.zero; position.x = left ? padding.left : -padding.right; position.x = padding.left; position.y = -top; if (targetRect.anchoredPosition != position) { targetRect.anchoredPosition = position; } } void SetAnchor(RectTransform targetRect) { if (!left) { if (targetRect.anchorMin != Vector2.one) { targetRect.anchorMin = Vector2.one; } if (targetRect.anchorMax != Vector2.one) { targetRect.anchorMax = Vector2.one; } if (targetRect.pivot != Vector2.one) { targetRect.pivot = Vector2.one; } } else { if (targetRect.anchorMin != Vector2.up) { targetRect.anchorMin = Vector2.up; } if (targetRect.anchorMax != Vector2.up) { targetRect.anchorMax = Vector2.up; } if (targetRect.pivot != Vector2.up) { targetRect.pivot = Vector2.up; } } } Main/System/Chat/ChatBulletView.cs
@@ -34,8 +34,10 @@ ChatManager.Instance.OnUpdateTalkEvent -= OnUpdateTalkEvent; } private void OnUpdateTalkEvent(ChatChannel channel, TalkData data) private void OnUpdateTalkEvent(ChatChannel channel, TalkData data, bool isSendBullet) { if (!isSendBullet) return; if (!ChatManager.Instance.GetBulletSetting(channel)) return; // 0-系统 1-日期 2-自己 3-其他玩家 Main/System/Chat/ChatManager.cs
@@ -17,7 +17,7 @@ public Dictionary<int, ChatBubbleData> chatBubbles = new Dictionary<int, ChatBubbleData>(); //<ChannelType,时间戳> public Dictionary<int, int> chatChannelSendTime = new Dictionary<int, int>(); public event Action<ChatChannel, TalkData> OnUpdateTalkEvent; public event Action<ChatChannel, TalkData, bool> OnUpdateTalkEvent; public event Action OnUpdateTalkCacheListEvent; public Dictionary<int, int> chatChannelCD = new Dictionary<int, int>(); @@ -27,7 +27,6 @@ public Color32 areaOtherColor; public Dictionary<int, int[]> chatChannelBulletColorArrDict = new Dictionary<int, int[]>(); public Dictionary<ChatChannel, Color32> chatChannelBulletColorDict = new Dictionary<ChatChannel, Color32>(); public int[] defaultChannelBulletColorArr; public Color32 defaultChannelBulletColor; public int characterLimit; @@ -48,45 +47,21 @@ config = FuncConfigConfig.Get("TalkColor"); areaMyColorArr = ConfigParse.GetMultipleStr<int>(config.Numerical1); areaMyColor = new Color32() { r = (byte)(areaMyColorArr.Length > 0 ? areaMyColorArr[0] : 0), g = (byte)(areaMyColorArr.Length > 1 ? areaMyColorArr[1] : 0), b = (byte)(areaMyColorArr.Length > 2 ? areaMyColorArr[2] : 0), a = (byte)(areaMyColorArr.Length > 3 ? areaMyColorArr[3] : 255), }; areaMyColor = ParseColor32(areaMyColorArr); areaOtherColorArr = ConfigParse.GetMultipleStr<int>(config.Numerical2); areaOtherColor = new Color32() { r = (byte)(areaOtherColorArr.Length > 0 ? areaOtherColorArr[0] : 0), g = (byte)(areaOtherColorArr.Length > 1 ? areaOtherColorArr[1] : 0), b = (byte)(areaOtherColorArr.Length > 2 ? areaOtherColorArr[2] : 0), a = (byte)(areaOtherColorArr.Length > 3 ? areaOtherColorArr[3] : 255), }; areaOtherColor = ParseColor32(areaOtherColorArr); chatChannelBulletColorArrDict = ConfigParse.ParseIntArrayDict(config.Numerical3); foreach (var kv in chatChannelBulletColorArrDict) { if (!IsValidChatChannel(kv.Key)) continue; chatChannelBulletColorDict[(ChatChannel)kv.Key] = new Color32() { r = (byte)(kv.Value.Length > 0 ? kv.Value[0] : 0), g = (byte)(kv.Value.Length > 1 ? kv.Value[1] : 0), b = (byte)(kv.Value.Length > 2 ? kv.Value[2] : 0), a = (byte)(kv.Value.Length > 3 ? kv.Value[3] : 0), }; chatChannelBulletColorDict[(ChatChannel)kv.Key] = ParseColor32(kv.Value); } defaultChannelBulletColorArr = ConfigParse.GetMultipleStr<int>(config.Numerical4); defaultChannelBulletColor = new Color32() { r = (byte)(defaultChannelBulletColorArr.Length > 0 ? defaultChannelBulletColorArr[0] : 0), g = (byte)(defaultChannelBulletColorArr.Length > 1 ? defaultChannelBulletColorArr[1] : 0), b = (byte)(defaultChannelBulletColorArr.Length > 2 ? defaultChannelBulletColorArr[2] : 0), a = (byte)(defaultChannelBulletColorArr.Length > 3 ? defaultChannelBulletColorArr[3] : 255), }; defaultChannelBulletColor = ParseColor32(defaultChannelBulletColorArr); config = FuncConfigConfig.Get("TalkLimit"); characterLimit = int.Parse(config.Numerical1); @@ -94,15 +69,20 @@ config = FuncConfigConfig.Get("TalkBubble"); sysBubbleID = int.Parse(config.Numerical1); sysBubbleColorArr = ConfigParse.GetMultipleStr<int>(config.Numerical2); sysBubbleColor = new Color32() { r = (byte)(sysBubbleColorArr.Length > 0 ? sysBubbleColorArr[0] : 0), g = (byte)(sysBubbleColorArr.Length > 1 ? sysBubbleColorArr[1] : 0), b = (byte)(sysBubbleColorArr.Length > 2 ? sysBubbleColorArr[2] : 0), a = (byte)(sysBubbleColorArr.Length > 3 ? sysBubbleColorArr[3] : 255), }; sysBubbleColor = ParseColor32(sysBubbleColorArr); ParseChatBubbleConfig(); } public Color32 ParseColor32(int[] colorArr) { return new Color32() { r = (byte)(colorArr.Length > 0 ? colorArr[0] : 0), g = (byte)(colorArr.Length > 1 ? colorArr[1] : 0), b = (byte)(colorArr.Length > 2 ? colorArr[2] : 0), a = (byte)(colorArr.Length > 3 ? colorArr[3] : 255), }; } public override void Release() @@ -113,19 +93,28 @@ GuildManager.Instance.EnterOrQuitGuildEvent -= EnterOrQuitGuildEvent; } //被踢出/退出工会时,切换聊天频道 //被踢出/退出工会时,切换聊天频道,清理缓存的旧公会信息 private void EnterOrQuitGuildEvent(bool obj) { if (!obj) { nowChatChannel = ChatChannel.World; nowChatTab = ChatTab.World; if (talkDict.ContainsKey(ChatChannel.Guild)) { talkDict[ChatChannel.Guild].Clear(); } if (lastTalkDataDict.ContainsKey(ChatChannel.Guild)) { lastTalkDataDict.Remove(ChatChannel.Guild); } } } private void OnBeforePlayerDataInitializeEvent() { talkDict.Clear(); lastTalkDataDict.Clear(); currentDay = -1; nowChatChannel = ChatChannel.World; nowChatTab = ChatTab.World; @@ -235,20 +224,8 @@ top = config.RightOffset.Length > 2 ? config.RightOffset[2] : 0, bottom = config.RightOffset.Length > 3 ? config.RightOffset[3] : 0, }; bubble.myColor = new Color32() { r = (byte)(config.MyColor.Length > 0 ? config.MyColor[0] : 0), g = (byte)(config.MyColor.Length > 1 ? config.MyColor[1] : 0), b = (byte)(config.MyColor.Length > 2 ? config.MyColor[2] : 0), a = (byte)(config.MyColor.Length > 3 ? config.MyColor[3] : 255), }; bubble.otherColor = new Color32() { r = (byte)(config.OtherColor.Length > 0 ? config.OtherColor[0] : 0), g = (byte)(config.OtherColor.Length > 1 ? config.OtherColor[1] : 0), b = (byte)(config.OtherColor.Length > 2 ? config.OtherColor[2] : 0), a = (byte)(config.OtherColor.Length > 3 ? config.OtherColor[3] : 255), }; bubble.myColor = ParseColor32(config.MyColor); bubble.otherColor = ParseColor32(config.OtherColor); bubble.top = config.Top; chatBubbles.Add(config.ID, bubble); } @@ -367,8 +344,36 @@ OnDeleteTalkEvent?.Invoke(type); } public int currentDay = -1; public void AddTalkData(ChatChannel type, TalkData data, bool isSend) //记录各个频道最后一条聊天记录 public Dictionary<ChatChannel, TalkData> lastTalkDataDict = new Dictionary<ChatChannel, TalkData>(); public bool TryGetLastTalkData(out ChatChannel type, out TalkData data) { type = ChatChannel.World; data = null; bool isFound = false; foreach (var kvp in lastTalkDataDict) { ChatChannel channelType = kvp.Key; TalkData talkData = kvp.Value; bool isOpen = GetBulletSetting(channelType); if (!isOpen) continue; if (channelType == ChatChannel.Guild && !IsTabOpen(ChatTab.Guild, false)) continue; if (data == null || talkData.TalkTime > data.TalkTime) { isFound = true; type = channelType; data = talkData; } } return isFound; } public void AddTalkData(ChatChannel type, TalkData data, bool isSendBullet) { //如果超过限制先删除旧数据 TryDeleteTalkData(type); @@ -377,13 +382,24 @@ talkDict[type] = new List<TalkData>(); } talkDict[type].Add(data); if (isSend) if (!lastTalkDataDict.ContainsKey(type) || lastTalkDataDict[type].TalkTime <= data.TalkTime) { OnUpdateTalkEvent?.Invoke(type, data); //展示的消息不能是日期行和系统行 if (!data.isDate && !data.isSystem) { lastTalkDataDict[type] = data; } } if (isSendBullet) { OnUpdateTalkEvent?.Invoke(type, data, isSendBullet); } } public bool TryAddDate(int allSeconds, ChatChannel type, bool isSend) public int currentDay = -1; public bool TryAddDate(int allSeconds, ChatChannel type, bool isSendBullet) { DateTime talkTime = TimeUtility.GetTime((uint)allSeconds); if (talkTime.Day != currentDay) @@ -395,17 +411,17 @@ isDate = true, Content = Language.Get("Chat09", talkTime.Month, talkTime.Day), TalkTime = (uint)allSeconds, }, isSend); }, isSendBullet); return true; } return false; } public void AddSysData(string msg, ArrayList infoList, ChatChannel type, bool isSend) public void AddSysData(string msg, ArrayList infoList, ChatChannel type, bool isSendBullet) { int allSeconds = TimeUtility.AllSeconds; // 如果隔天,增加日期行 TryAddDate(allSeconds, type, isSend); TryAddDate(allSeconds, type, isSendBullet); if (!talkDict.ContainsKey(type)) { @@ -419,7 +435,7 @@ BubbleBox = 1, TalkTime = (uint)allSeconds, InfoList = new ArrayList(infoList), }, isSend); }, isSendBullet); } public void UpdateTalk(HB310_tagMCTalk vNetData) @@ -592,6 +608,7 @@ private Dictionary<ChatChannel, bool> bulletSettingDict = new Dictionary<ChatChannel, bool>(); private string settingsKey { get { return StringUtility.Concat("BulletChatSettings_", PlayerDatas.Instance.PlayerId.ToString()); } } // 设置特定频道的弹幕开关状态 Main/System/Chat/ChatPlayerMineCell.cs
@@ -15,7 +15,7 @@ if (!manager.TryGetChatData(ChatManager.Instance.nowChatChannel, cell.index, out TalkData data)) return; m_ChatBubble.DisplayContent(data.Content, true); m_ChatBubble.DisplayContent(data.Content); int bubbleID = ChatBubbleHelper.GetMyChatBubbleID(); m_ChatBubble.DisplayBubble(bubbleID, (int)PlayerDatas.Instance.baseData.PlayerID); Main/System/Chat/ChatPlayerOtherCell.cs
@@ -16,7 +16,7 @@ if (!manager.TryGetChatData(ChatManager.Instance.nowChatChannel, cell.index, out TalkData nowData) || nowData == null) return; m_ChatBubble.DisplayContent(nowData.Content, true); m_ChatBubble.DisplayContent(nowData.Content); bool hasNewPlayerInfo = manager.TryGetNewPlayerInfoByPlayerID(nowData.PlayerID, out TalkData newPlayerInfo); TalkData data = hasNewPlayerInfo ? newPlayerInfo : nowData; Main/System/Chat/ChatSysCell.cs
@@ -15,7 +15,7 @@ chatText.SetExtenalData(data.InfoList); } m_ChatBubble.DisplaySysBubble(manager.sysBubbleID, manager.sysBubbleColor); m_ChatBubble.DisplayContent(data.Content, true); m_ChatBubble.DisplayContent(data.Content); } public float GetHeight(string content, ArrayList list) Main/System/Chat/ChatWin.cs
@@ -278,7 +278,7 @@ CreaterAll(entrance); } private void OnUpdateTalkEvent(ChatChannel type, TalkData data) private void OnUpdateTalkEvent(ChatChannel type, TalkData data, bool isSendBullet) { RefreshAll(type, playerId: data.PlayerID); } Main/System/Guild/GuildBaseWin.cs
@@ -87,7 +87,7 @@ ShowGuildInfo(); } private void OnUpdateTalkEvent(ChatChannel channel, TalkData data) private void OnUpdateTalkEvent(ChatChannel channel, TalkData data, bool isSendBullet) { if (channel != ChatChannel.Guild) return; @@ -247,6 +247,7 @@ } } List<TalkData> showTalkDatas = new List<TalkData>(); void ShowTalkInfo() { if (!ChatManager.Instance.TryGetTalkData(ChatChannel.Guild, out List<TalkData> datas) || datas.IsNullOrEmpty()) @@ -254,15 +255,30 @@ talkInfoText.text = string.Empty; return; } showTalkDatas.Clear(); StringBuilder stringBuilder = new StringBuilder(); int startIndex = Mathf.Max(datas.Count - 2, 0); for (int i = startIndex; i < datas.Count; i++) // 从后向前遍历,找到最后两条玩家消息(过滤掉系统消息和日期消息) int count = 0; for (int i = datas.Count - 1; i >= 0 && count < 2; i--) { TalkData data = datas[i]; // 只保留玩家消息:非系统消息且非日期消息 if (!data.isSystem && !data.isDate) { showTalkDatas.Insert(0, data); // 插入到列表开头以保持时间顺序 count++; } } StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < showTalkDatas.Count; i++) { TalkData data = showTalkDatas[i]; stringBuilder.Append(UIHelper.AppendColor(GetGuildChatAreaColor(data), GetGuildChatAreaContent(data))); stringBuilder.AppendLine(); } talkInfoText.text = stringBuilder.ToString(); } } Main/System/HeroUI/HeroUIManager.Reborn.cs
@@ -407,6 +407,12 @@ return false; } if (hero.heroStar >= hero.GetCurMaxStar()) { SysNotifyMgr.Instance.ShowTip("HeroDelete1"); return false; } if (selectDeleteHeroList.Contains(hero.itemHero.guid)) { selectDeleteHeroList.Remove(hero.itemHero.guid); Main/System/Main/HomeWin.cs
@@ -73,8 +73,16 @@ [SerializeField] Text horseLVText; //聊天 [SerializeField] Button chatBtn; [SerializeField] Transform transChatInfo; [SerializeField] Transform transFastChat; [SerializeField] Button chatBtn; [SerializeField] Button chatBtn1; [SerializeField] ImageEx imgChatType; [SerializeField] TextEx txtChatType; [SerializeField] RichText txtChatInfo; [SerializeField] InputField inputFastChat; [SerializeField] ButtonEx btnFastChatSend; [SerializeField] ImageEx imgFastChatSend; @@ -149,48 +157,41 @@ horseBtn.AddListener(OpenHorse); chatBtn.SetListener(() => { if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Chat, true)) return; chatBtn.SetListener(OnClickChatBtn); chatBtn1.SetListener(OnClickChatBtn); transFastChat.SetActive(true); chatBtn.SetActive(false); UpdateChat(ChatManager.Instance.nowChatTab); // btnFastChatClose.SetListener(() => // { // transFastChat.SetActive(false); // transChatInfo.SetActive(true); // }); // btnChatWin.SetListener(() => // { // transFastChat.SetActive(false); // transChatInfo.SetActive(true); // UIManager.Instance.OpenWindow<ChatWin>(); // }); }); btnFastChatClose.SetListener(() => { transFastChat.SetActive(false); chatBtn.SetActive(true); }); btnChatWin.SetListener(() => { transFastChat.SetActive(false); chatBtn.SetActive(true); UIManager.Instance.OpenWindow<ChatWin>(); }); // btnFastChatSend.SetListener(() => // { // // 如果在聊天输入界面无输入文字点击发送,则关闭聊天输入界面 // if (string.IsNullOrEmpty(inputFastChat.text)) // { // transFastChat.SetActive(false); // transChatInfo.SetActive(true); // return; // } btnFastChatSend.SetListener(() => { // 如果在聊天输入界面无输入文字点击发送,则关闭聊天输入界面 if (string.IsNullOrEmpty(inputFastChat.text)) { transFastChat.SetActive(false); chatBtn.SetActive(true); return; } if (!ChatManager.Instance.CheckChatLimit(inputFastChat.text, out int errorCode)) { ChatManager.Instance.ShowChatErrorTip(errorCode); return; } ChatManager.Instance.SendChatInfo(ChatManager.Instance.nowChatChannel, inputFastChat.text); ChatManager.Instance.AddChatChannelSendTime(ChatManager.Instance.nowChatChannel, TimeUtility.AllSeconds); UpdateSendButton(); inputFastChat.text = string.Empty; }); // if (!ChatManager.Instance.CheckChatLimit(inputFastChat.text, out int errorCode)) // { // ChatManager.Instance.ShowChatErrorTip(errorCode); // return; // } // ChatManager.Instance.SendChatInfo(ChatManager.Instance.nowChatChannel, inputFastChat.text); // ChatManager.Instance.AddChatChannelSendTime(ChatManager.Instance.nowChatChannel, TimeUtility.AllSeconds); // UpdateSendButton(); // inputFastChat.text = string.Empty; // }); osMainLevelBtn.AddListener(() => { @@ -226,10 +227,11 @@ DisplayHorse(); DisplayChatBulletView(); chatBtn.SetActive(true); transFastChat.SetActive(false); inputFastChat.characterLimit = ChatManager.Instance.characterLimit; UpdateSendButton(); transChatInfo.SetActive(true); //transFastChat.SetActive(false); //inputFastChat.characterLimit = ChatManager.Instance.characterLimit; //UpdateSendButton(); ShowChatInfo(); } protected override void OnPreOpen() @@ -252,6 +254,8 @@ ChatManager.Instance.OnChatTabChangeEvent += OnChatTabChangeEvent; GuildManager.Instance.EnterOrQuitGuildEvent += EnterOrQuitGuildEvent; TimeMgr.Instance.OnDayEvent += OnDayEvent; ChatManager.Instance.OnUpdateTalkEvent += OnUpdateTalkEvent; UIManager.Instance.OnOpenWindow += OnOpenWindow; Display(); DisplayFirstChargeBtn(); DisplayOSActivity(); @@ -284,39 +288,124 @@ ChatManager.Instance.OnChatTabChangeEvent -= OnChatTabChangeEvent; GuildManager.Instance.EnterOrQuitGuildEvent -= EnterOrQuitGuildEvent; TimeMgr.Instance.OnDayEvent -= OnDayEvent; ChatManager.Instance.OnUpdateTalkEvent -= OnUpdateTalkEvent; UIManager.Instance.OnOpenWindow -= OnOpenWindow; // 关闭的时候把战斗界面也给关了 虽然是在外面开的 UIManager.Instance.CloseWindow<BattleWin>(); } private void UpdateSendButton() private void OnOpenWindow(UIBase win) { bool isCanSend = ChatManager.Instance.IsCanSend(ChatManager.Instance.nowChatChannel, out int remainingSeconds); btnFastChatSend.interactable = isCanSend; imgFastChatSend.gray = !isCanSend; txtFastChatSend.text = isCanSend ? Language.Get("Chat11") : Language.Get("Chat14", remainingSeconds); txtFastChatSend.colorType = isCanSend ? TextColType.NavyBrown : TextColType.LightWhite; if (win is ChatWin) { transChatInfo.SetActive(false); } } private void OnUpdateTalkEvent(ChatChannel channel, TalkData data, bool isSendBullet) { ShowChatInfo(); } private void OnClickChatBtn() { if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Chat, true)) return; //transFastChat.SetActive(true); // transChatInfo.SetActive(false); // UpdateChat(ChatManager.Instance.nowChatTab); bool hasLastTalkData = ChatManager.Instance.TryGetLastTalkData(out ChatChannel type, out TalkData data); if (!hasLastTalkData) { ChatManager.Instance.nowChatTab = ChatTab.World; ChatManager.Instance.nowChatChannel = ChatChannel.World; } else { switch (type) { case ChatChannel.World: default: ChatManager.Instance.nowChatTab = ChatTab.World; ChatManager.Instance.nowChatChannel = ChatChannel.World; break; case ChatChannel.Guild: ChatManager.Instance.nowChatTab = ChatTab.Guild; ChatManager.Instance.nowChatChannel = ChatChannel.Guild; break; } } UIManager.Instance.OpenWindow<ChatWin>(); } public string GetMainChatAreaContent(TalkData talkData) { int type = ChatManager.Instance.GetTalkDataType(talkData); if (type == 0) { return Language.Get("L1100", Language.Get("Chat13"), talkData.Content); } else if (type == 1) { return Language.Get("L1100", Language.Get("Chat13"), talkData.Content); } else { return Language.Get("L1100", talkData.Name, talkData.Content); } } private void ShowChatInfo() { bool hasLastTalkData = ChatManager.Instance.TryGetLastTalkData(out ChatChannel type, out TalkData data); if (!hasLastTalkData) { imgChatType.SetActive(false); txtChatInfo.text = string.Empty; return; } imgChatType.SetActive(true); txtChatType.text = Language.Get(StringUtility.Concat("ChatChannel", ((int)type).ToString())); imgChatType.SetSprite(StringUtility.Concat("ChatChannelBg", ((int)type).ToString())); if (data.InfoList != null) { txtChatInfo.SetExtenalData(data.InfoList); } txtChatInfo.text = GetMainChatAreaContent(data); } // private void UpdateSendButton() // { // bool isCanSend = ChatManager.Instance.IsCanSend(ChatManager.Instance.nowChatChannel, out int remainingSeconds); // btnFastChatSend.interactable = isCanSend; // imgFastChatSend.gray = !isCanSend; // txtFastChatSend.text = isCanSend ? Language.Get("Chat11") : Language.Get("Chat14", remainingSeconds); // txtFastChatSend.colorType = isCanSend ? TextColType.NavyBrown : TextColType.LightWhite; // } private void EnterOrQuitGuildEvent(bool obj) { if (!obj) { UpdateChat(ChatManager.Instance.nowChatTab); ShowChatInfo(); //UpdateChat(ChatManager.Instance.nowChatTab); } } private void OnChatTabChangeEvent(ChatTab tab) { UpdateChat(tab); //UpdateChat(tab); } void UpdateChat(ChatTab tab) { txtChatChannel.text = ChatManager.Instance.GetChatTabName(tab); } // void UpdateChat(ChatTab tab) // { // txtChatChannel.text = ChatManager.Instance.GetChatTabName(tab); // } void DisplayChatBulletView() { @@ -523,6 +612,12 @@ { DisplayCard(TeamType.Story); } if (closeUI is ChatWin) { transChatInfo.SetActive(true); } } @@ -661,7 +756,7 @@ private void OnSecondEvent() { DisplayFirstChargeBtn(); UpdateSendButton(); //UpdateSendButton(); } void OnUnLockHeroCountEvent() Main/Utility/OperationLogCollect.cs
@@ -170,7 +170,10 @@ tables["Title"] = "system"; _content = _content.Replace("0000", ""); if (ConfigManager.Instance.isLoadFinished && DTC0102_tagCDBPlayer.playerIdBuf != 0 && LoginManager.Instance.sdkLoginResult != null && !string.IsNullOrEmpty(LoginManager.Instance.sdkLoginResult.account)) _content = LoginManager.Instance.sdkLoginResult.account + _content; { _content = StringUtility.Concat(LoginManager.Instance.sdkLoginResult.account, "@", ServerListCenter.Instance.currentServer.region_flag.ToString(), " ", _content); } tables["Content"] = _content.Substring(0, Math.Min(800, _content.Length)); tables["ClientInfo"] = contentPrefix; @@ -187,30 +190,30 @@ const string chatReportUrl = "http://xssgcenter.secondworld.net.cn:11000/center/eventreport.php?"; public void ChatReport(string content, string channelName, string toPlayer, int chatType) { #if !UNITY_EDITOR bool isFairy = false; //chatType == ChatInfoType.Fairy; var tables = new Dictionary<string, string>(); tables["ProductID"] = VersionConfig.Get().gameId; tables["OperatorID"] = VersionConfig.Get().appId; tables["OperatorName"] = string.Empty; tables["RegionName"] = StringUtility.Concat("s", ServerListCenter.Instance.currentServer.region_flag); tables["RegionID"] = ServerListCenter.Instance.currentServer.region_flag.ToString(); tables["EventID"] = 9003.ToString(); tables["Time"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); tables["IP"] = DeviceUtility.GetIp(); tables["ChatChannel"] = channelName; var sdkLoginResult = ModelCenter.Instance.GetModel<LoginModel>().sdkLoginResult; tables["AccountID"] = sdkLoginResult == null ? string.Empty : sdkLoginResult.account; tables["RoleID"] = StringUtility.Concat(isFairy ? UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.FamilyName) : string.Empty, isFairy ? "-" : string.Empty, UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName)); tables["ToRoleID"] = UIHelper.ServerStringTrim(toPlayer); tables["Level"] = PlayerDatas.Instance.baseData.LV.ToString(); tables["VIPLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString(); tables["Content"] = WWW.EscapeURL(UIHelper.TrimContentToServer(content)); tables["DeviceFlag"] = ynmbxxjUtil.Instance.Device == null ? string.Empty : ynmbxxjUtil.Instance.Device.uniqueID; // #if !UNITY_EDITOR // bool isFairy = false; //chatType == ChatInfoType.Fairy; // var tables = new Dictionary<string, string>(); // tables["ProductID"] = VersionConfig.Get().gameId; // tables["OperatorID"] = VersionConfig.Get().appId; // tables["OperatorName"] = string.Empty; // tables["RegionName"] = StringUtility.Concat("s", ServerListCenter.Instance.currentServer.region_flag); // tables["RegionID"] = ServerListCenter.Instance.currentServer.region_flag.ToString(); // tables["EventID"] = 9003.ToString(); // tables["Time"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); // tables["IP"] = DeviceUtility.GetIp(); // tables["ChatChannel"] = channelName; // var sdkLoginResult = ModelCenter.Instance.GetModel<LoginModel>().sdkLoginResult; // tables["AccountID"] = sdkLoginResult == null ? string.Empty : sdkLoginResult.account; // tables["RoleID"] = StringUtility.Concat(isFairy ? UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.FamilyName) : string.Empty, // isFairy ? "-" : string.Empty, UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName)); // tables["ToRoleID"] = UIHelper.ServerStringTrim(toPlayer); // tables["Level"] = PlayerDatas.Instance.baseData.LV.ToString(); // tables["VIPLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString(); // tables["Content"] = WWW.EscapeURL(UIHelper.TrimContentToServer(content)); // tables["DeviceFlag"] = ynmbxxjUtil.Instance.Device == null ? string.Empty : ynmbxxjUtil.Instance.Device.uniqueID; HttpRequest.Instance.RequestHttpGet(StringUtility.Concat(chatReportUrl, HttpRequest.HashtablaToString(tables)), HttpRequest.defaultHttpContentType); #endif // HttpRequest.Instance.RequestHttpGet(StringUtility.Concat(chatReportUrl, HttpRequest.HashtablaToString(tables)), HttpRequest.defaultHttpContentType); // #endif } }