From 1adf0932629c4154f6e2ff854e75c48019a3972b Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期三, 10 六月 2026 18:11:38 +0800
Subject: [PATCH] 588 公会攻防战
---
Main/System/Guild/GuildBaseWin.cs | 99 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 98 insertions(+), 1 deletions(-)
diff --git a/Main/System/Guild/GuildBaseWin.cs b/Main/System/Guild/GuildBaseWin.cs
index 8f43f62..2cde036 100644
--- a/Main/System/Guild/GuildBaseWin.cs
+++ b/Main/System/Guild/GuildBaseWin.cs
@@ -27,6 +27,23 @@
[SerializeField] Button requestBtn;
+ [SerializeField] ImageEx guildBattleLockImg;
+ [SerializeField] Text guildBattleTitleText;
+ [SerializeField] Button guildBattleBtn;
+ [SerializeField] Text guildBattleState;
+ [SerializeField] Image guildBattleStateImg;
+ [SerializeField] Text GuildBattleCountDownTime;
+ [SerializeField] ImageEx guildBattleImg;
+ [SerializeField] UIEffectPlayer guildBattleEffect;
+
+
+ [SerializeField] Color32 guildBattleState1;//鏈弬鎴�
+ [SerializeField] Color32 guildBattleState2;//瀵规垬澶辫触
+ [SerializeField] Color32 guildBattleState3;//澶囨垬涓�
+ [SerializeField] Color32 guildBattleState4;//婵�鎴樹腑
+ [SerializeField] Color32 guildBattleState5;//瀵规垬鑳滃埄
+
+
//NPC瀵硅瘽鐩稿叧
[Header("琛屽晢蹇呴』鏀剧涓�涓�")]
[SerializeField] HeroSkinModel[] funcNPCs;
@@ -61,6 +78,12 @@
{
UIManager.Instance.OpenWindow<GuildRankWin>();
});
+ guildBattleBtn.AddListener(() =>
+ {
+ if (!GuildAtkDefBatManager.Instance.IsOpen(true))
+ return;
+ UIManager.Instance.OpenWindowAsync<GuildAtkDefBatWin>().Forget();
+ });
InitHawker();
talkBtn.AddListener(OnClickTalkButton);
talkBtn1.AddListener(OnClickTalkButton);
@@ -71,11 +94,12 @@
{
if (PlayerDatas.Instance.fairyData.fairy == null)
return;
-
GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
GlobalTimeEvent.Instance.fiveSecondEvent += OnFiveSecondEvent;
ChatManager.Instance.OnUpdateTalkEvent += OnUpdateTalkEvent;
PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo;
+ FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
+ GuildAtkDefBatManager.Instance.OnUpdateAtkDefBatInfoEvent += OnUpdateAtkDefBatInfoEvent;
Display();
}
@@ -85,6 +109,18 @@
GlobalTimeEvent.Instance.fiveSecondEvent -= OnFiveSecondEvent;
ChatManager.Instance.OnUpdateTalkEvent -= OnUpdateTalkEvent;
PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo;
+ FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
+ GuildAtkDefBatManager.Instance.OnUpdateAtkDefBatInfoEvent -= OnUpdateAtkDefBatInfoEvent;
+ }
+ private void OnUpdateAtkDefBatInfoEvent()
+ {
+ ShowGuildBattleInfo();
+ }
+
+ private void OnFuncStateChangeEvent(int funcId)
+ {
+ if (funcId == (int)FuncOpenEnum.GuildAtkDefBat)
+ ShowGuildBattleInfo();
}
void OnRefreshFairyInfo()
@@ -104,11 +140,72 @@
ShowGuildInfo();
ShowHawkerTime();
ShowTalkInfo();
+ ShowGuildBattleInfo();
}
void OnSecondEvent()
{
ShowHawkerTime(true);
+ UpdateGuildBattleCountdown();
+ }
+
+ /// <summary>
+ /// 鍒锋柊鏀婚槻鎴樼殑褰撳墠鐘舵�佸強瀵瑰簲鎻忚竟棰滆壊
+ /// </summary>
+ void ShowGuildBattleInfo()
+ {
+ bool isOpen = GuildAtkDefBatManager.Instance.IsOpen();
+ guildBattleLockImg.SetActive(!isOpen);
+ guildBattleTitleText.color = isOpen ? new Color32(222, 212, 200, 255) : UIHelper.GetUIColor(TextColType.Gray);
+ guildBattleStateImg.SetActive(isOpen);
+ guildBattleImg.SetActive(isOpen);
+ guildBattleEffect.SetActive(false);
+
+ if (!isOpen)
+ return;
+
+ // 鐘舵�佹爣璇嗭細1-鏈弬鎴�, 2-澶囨垬涓�, 3-婵�鎴樹腑, 4-鑳滃埄(浼戞垬涓�), 5-澶辫触(浼戞垬涓�)
+ int displayState = GuildAtkDefBatManager.Instance.GetGuildBattleDisplayState();
+
+ switch (displayState)
+ {
+ case 1: // 鏈弬鎴�
+ guildBattleState.text = Language.Get("GuildAtkDefBat27");
+ guildBattleState.color = guildBattleState1;
+ break;
+ case 2: // 澶囨垬涓�
+ guildBattleState.text = Language.Get("GuildAtkDefBat25");
+ guildBattleState.color = guildBattleState3;
+ break;
+ case 3: // 婵�鎴樹腑
+ guildBattleState.text = Language.Get("GuildAtkDefBat24");
+ guildBattleState.color = guildBattleState4;
+ guildBattleImg.SetActive(false);
+ guildBattleEffect.SetActive(true);
+ break;
+ case 4: // 鑳滃埄(浼戞垬涓�)
+ guildBattleState.text = Language.Get("GuildAtkDefBat23");
+ guildBattleState.color = guildBattleState5;
+ break;
+ case 5: // 澶辫触(浼戞垬涓�)
+ guildBattleState.text = Language.Get("GuildAtkDefBat26");
+ guildBattleState.color = guildBattleState2;
+ break;
+ }
+ UpdateGuildBattleCountdown();
+ }
+
+ /// <summary>
+ /// 鍒锋柊鍊掕鏃舵枃鏈� (姣忕璋冪敤), 浠呭鎴樻湡/婵�鎴樻湡鏄剧ず
+ /// </summary>
+ void UpdateGuildBattleCountdown()
+ {
+ int state = GuildAtkDefBatManager.Instance.BatState;
+ bool show = state == 2 || state == 3;
+ GuildBattleCountDownTime.SetActive(show);
+ if (!show) return;
+
+ GuildBattleCountDownTime.text = GuildAtkDefBatManager.Instance.GetGetCountdownToCurrentPeriodEndString();
}
void ShowGuildInfo()
--
Gitblit v1.8.0