From 2a845f0babe52ac324b3cbe294db7dcec9346042 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 22 十二月 2025 19:07:24 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts
---
Main/System/Main/HomeWin.cs | 209 ++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 152 insertions(+), 57 deletions(-)
diff --git a/Main/System/Main/HomeWin.cs b/Main/System/Main/HomeWin.cs
index 7036c9f..78e80dc 100644
--- a/Main/System/Main/HomeWin.cs
+++ b/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()
--
Gitblit v1.8.0