From 51b0f6ed9f4e1d3bb6f8144470b46908c7699a96 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 11 五月 2026 16:20:37 +0800
Subject: [PATCH] Merge branch 'master' into h5version

---
 Main/System/Guild/GuildBaseWin.cs |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/Main/System/Guild/GuildBaseWin.cs b/Main/System/Guild/GuildBaseWin.cs
index da9c7ed..9b5325f 100644
--- a/Main/System/Guild/GuildBaseWin.cs
+++ b/Main/System/Guild/GuildBaseWin.cs
@@ -1,4 +1,4 @@
-using System;
+锘縰sing System;
 using System.Collections;
 using System.Collections.Generic;
 using Cysharp.Threading.Tasks;
@@ -43,19 +43,23 @@
     {
         guildBtn.AddListener(() =>
         {
-            UIManager.Instance.OpenWindow<GuildHallWin>();
+            UIManager.Instance.OpenWindowAsync<GuildHallWin>().Forget();
         });
 
         requestBtn.AddListener(() =>
         {
-            // UIManager.Instance.OpenWindow<GuildRequestWin>();
+            UIManager.Instance.OpenWindowAsync<GuildApplyListWin>().Forget();
         });
 
         guildHawkerBtn.AddListener(OpenHawker);
         storeBtn.AddListener(() =>
         {
             StoreModel.Instance.selectStoreFuncType = StoreFunc.Guild;
-            UIManager.Instance.OpenWindow<StoreBaseWin>();
+            UIManager.Instance.OpenWindowAsync<StoreBaseWin>().Forget();
+        });
+        rankBtn.AddListener(() =>
+        {
+            UIManager.Instance.OpenWindowAsync<GuildRankWin>().Forget();
         });
         InitHawker();
         talkBtn.AddListener(OnClickTalkButton);
@@ -67,6 +71,7 @@
     {
         if (PlayerDatas.Instance.fairyData.fairy == null)
             return;
+
         GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
         GlobalTimeEvent.Instance.fiveSecondEvent += OnFiveSecondEvent;
         ChatManager.Instance.OnUpdateTalkEvent += OnUpdateTalkEvent;
@@ -108,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);
@@ -121,7 +127,7 @@
             SysNotifyMgr.Instance.ShowTip("GuildSys17");
             return;
         }
-        UIManager.Instance.OpenWindow<GuildHawkerWin>();
+        UIManager.Instance.OpenWindowAsync<GuildHawkerWin>().Forget();
     }
 
     void ShowHawkerTime(bool modelPlay = false)
@@ -205,6 +211,7 @@
     async UniTask Talk(int index)
     {
         await UniTask.Delay(5000);
+        if (this == null) return; // destroyed during await
         talkRects[index].SetActive(false);
         var npc = funcNPCs[index].GetModel();
         npc.PlayAnimation("idle", true);
@@ -212,9 +219,9 @@
 
     public void OnClickTalkButton()
     {
-        ChatManager.Instance.nowChatTab = ChatTab.Guild;
+        ChatManager.Instance.nowChatTab = ChatChannel.Guild;
         ChatManager.Instance.nowChatChannel = ChatChannel.Guild;
-        UIManager.Instance.OpenWindow<ChatWin>();
+        UIManager.Instance.OpenWindowAsync<ChatWin>().Forget();
     }
 
     public string GetGuildChatAreaContent(TalkData talkData)

--
Gitblit v1.8.0