| | |
| | | [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; |
| | |
| | | |
| | | 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(() => |
| | | { |
| | |
| | | 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() |
| | |
| | | ChatManager.Instance.OnChatTabChangeEvent += OnChatTabChangeEvent; |
| | | GuildManager.Instance.EnterOrQuitGuildEvent += EnterOrQuitGuildEvent; |
| | | TimeMgr.Instance.OnDayEvent += OnDayEvent; |
| | | ChatManager.Instance.OnUpdateTalkEvent += OnUpdateTalkEvent; |
| | | UIManager.Instance.OnOpenWindow += OnOpenWindow; |
| | | Display(); |
| | | DisplayFirstChargeBtn(); |
| | | DisplayOSActivity(); |
| | |
| | | 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() |
| | | { |
| | |
| | | { |
| | | DisplayCard(TeamType.Story); |
| | | } |
| | | |
| | | if (closeUI is ChatWin) |
| | | { |
| | | transChatInfo.SetActive(true); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | private void OnSecondEvent() |
| | | { |
| | | DisplayFirstChargeBtn(); |
| | | UpdateSendButton(); |
| | | //UpdateSendButton(); |
| | | } |
| | | |
| | | void OnUnLockHeroCountEvent() |