From 16dba0ff4d2eed7f5a4a7c37640f158ee9f73d8c Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期五, 05 六月 2026 19:22:43 +0800
Subject: [PATCH] 669 子 【武将】武将系统 / 时装新增开服天数显示入口字段
---
Main/System/Guild/GuildBaseWin.cs | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 107 insertions(+), 9 deletions(-)
diff --git a/Main/System/Guild/GuildBaseWin.cs b/Main/System/Guild/GuildBaseWin.cs
index 8584a57..8f43f62 100644
--- a/Main/System/Guild/GuildBaseWin.cs
+++ b/Main/System/Guild/GuildBaseWin.cs
@@ -1,7 +1,9 @@
+using System;
using System.Collections;
using System.Collections.Generic;
using Cysharp.Threading.Tasks;
using DG.Tweening;
+using System.Text;
using UnityEngine;
using UnityEngine.UI;
@@ -19,8 +21,9 @@
[SerializeField] Text guildMemberCountText;
[SerializeField] Button rankBtn;
[SerializeField] Button storeBtn;
-
-
+ [SerializeField] RichText talkInfoText;
+ [SerializeField] Button talkBtn;
+ [SerializeField] Button talkBtn1;
[SerializeField] Button requestBtn;
@@ -45,7 +48,7 @@
requestBtn.AddListener(() =>
{
- // UIManager.Instance.OpenWindow<GuildRequestWin>();
+ UIManager.Instance.OpenWindow<GuildApplyListWin>();
});
guildHawkerBtn.AddListener(OpenHawker);
@@ -54,7 +57,13 @@
StoreModel.Instance.selectStoreFuncType = StoreFunc.Guild;
UIManager.Instance.OpenWindow<StoreBaseWin>();
});
+ rankBtn.AddListener(() =>
+ {
+ UIManager.Instance.OpenWindow<GuildRankWin>();
+ });
InitHawker();
+ talkBtn.AddListener(OnClickTalkButton);
+ talkBtn1.AddListener(OnClickTalkButton);
}
@@ -62,9 +71,11 @@
{
if (PlayerDatas.Instance.fairyData.fairy == null)
return;
+
GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
GlobalTimeEvent.Instance.fiveSecondEvent += OnFiveSecondEvent;
-
+ ChatManager.Instance.OnUpdateTalkEvent += OnUpdateTalkEvent;
+ PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo;
Display();
}
@@ -72,13 +83,27 @@
{
GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
GlobalTimeEvent.Instance.fiveSecondEvent -= OnFiveSecondEvent;
+ ChatManager.Instance.OnUpdateTalkEvent -= OnUpdateTalkEvent;
+ PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo;
}
+ void OnRefreshFairyInfo()
+ {
+ ShowGuildInfo();
+ }
+
+ private void OnUpdateTalkEvent(ChatChannel channel, TalkData data, bool isSendBullet)
+ {
+ if (channel != ChatChannel.Guild)
+ return;
+ ShowTalkInfo();
+ }
void Display()
{
ShowGuildInfo();
ShowHawkerTime();
+ ShowTalkInfo();
}
void OnSecondEvent()
@@ -88,6 +113,7 @@
void ShowGuildInfo()
{
+ requestBtn.SetActive(PlayerDatas.Instance.fairyData.HasFairy && PlayerDatas.Instance.fairyData.IsCanFunc(LimitFunc.CanCall));
emblemCell.Display(PlayerDatas.Instance.fairyData.fairy.EmblemID, PlayerDatas.Instance.fairyData.fairy.EmblemWord, 0.8f);
guildNameText.text = PlayerDatas.Instance.fairyData.fairy.FamilyName;
var config = FamilyConfig.Get(PlayerDatas.Instance.fairyData.fairy.FamilyLV);
@@ -123,7 +149,7 @@
if (modelPlay)
HawkerMove(true);
}
-
+
}
@@ -137,7 +163,7 @@
{
hawkerRect.localPosition = pos2.localPosition;
}
- hawkerModel.PlayAnimation("idle", true);
+ // hawkerModel.PlayAnimation("zoulu", true);
}
//isShow true璧板嚭鏉�,false璧板嚭鍘�
@@ -150,7 +176,7 @@
FuncNPCManager.Instance.isHawkerShowNow = isShow;
hawkerModel.PlayAnimation("zoulu", true);
FuncNPCManager.Instance.isHawkerStandBy = false;
- hawkerModel.transform.localScale = new Vector3(isShow ? hawkerModel.transform.localScale.x : -hawkerModel.transform.localScale.x, hawkerModel.transform.localScale.y, hawkerModel.transform.localScale.z);
+ hawkerModel.transform.localScale = new Vector3(isShow ? Math.Abs(hawkerModel.transform.localScale.x) : -Math.Abs(hawkerModel.transform.localScale.x), hawkerModel.transform.localScale.y, hawkerModel.transform.localScale.z);
hawkerRect.DOLocalMove(isShow ? pos1.localPosition : pos2.localPosition, 1f).onComplete = () =>
{
hawkerModel.PlayAnimation("idle", true);
@@ -158,8 +184,8 @@
FuncNPCManager.Instance.isHawkerStandBy = isShow;
};
}
-
-
+
+
//NPC瀵硅瘽鐩稿叧
@@ -189,4 +215,76 @@
var npc = funcNPCs[index].GetModel();
npc.PlayAnimation("idle", true);
}
+
+ public void OnClickTalkButton()
+ {
+ ChatManager.Instance.nowChatTab = ChatChannel.Guild;
+ ChatManager.Instance.nowChatChannel = ChatChannel.Guild;
+ UIManager.Instance.OpenWindow<ChatWin>();
+ }
+
+ public string GetGuildChatAreaContent(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);
+ }
+ }
+
+ public Color32 GetGuildChatAreaColor(TalkData talkData)
+ {
+ int type = ChatManager.Instance.GetTalkDataType(talkData);
+ if (type == 2)
+ {
+ return ChatManager.Instance.areaMyColor;
+ }
+ else
+ {
+ return ChatManager.Instance.areaOtherColor;
+ }
+ }
+
+ List<TalkData> showTalkDatas = new List<TalkData>();
+ void ShowTalkInfo()
+ {
+ if (!ChatManager.Instance.TryGetTalkData(ChatChannel.Guild, out List<TalkData> datas) || datas.IsNullOrEmpty())
+ {
+ talkInfoText.text = string.Empty;
+ return;
+ }
+ showTalkDatas.Clear();
+
+ // 浠庡悗鍚戝墠閬嶅巻锛屾壘鍒版渶鍚庝袱鏉$帺瀹舵秷鎭紙杩囨护鎺夌郴缁熸秷鎭拰鏃ユ湡娑堟伅锛�
+ 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();
+ }
+
}
\ No newline at end of file
--
Gitblit v1.8.0