From d2ac719bbc81ba860c4356eb6929372483c4a7d4 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 20 十月 2025 00:34:36 +0800
Subject: [PATCH] 65 子 【公会】基础主体 / 【公会】基础主体-客户端

---
 Main/System/Guild/GuildEmblemSelectCell.cs |    1 +
 Main/System/Guild/GuildEmblemCell.cs       |    1 +
 Main/System/Guild/GuildEmblemModel.cs      |    6 ++++--
 Main/System/Guild/GuildEmblemWin.cs        |    1 +
 Main/System/Guild/GuildBaseWin.cs          |   34 +++++++++++++++++++++++++++++++---
 5 files changed, 38 insertions(+), 5 deletions(-)

diff --git a/Main/System/Guild/GuildBaseWin.cs b/Main/System/Guild/GuildBaseWin.cs
index 0615870..49eedc0 100644
--- a/Main/System/Guild/GuildBaseWin.cs
+++ b/Main/System/Guild/GuildBaseWin.cs
@@ -8,16 +8,37 @@
 /// </summary>
 public class GuildBaseWin : UIBase
 {
+    [SerializeField] Button guildBtn;
+    [SerializeField] GuildEmblemCell emblemCell;
+    [SerializeField] Text guildNameText;
+    [SerializeField] Text guildMemberCountText;
     [SerializeField] Button rankBtn;
+
+
+
+    [SerializeField] Button requestBtn;
 
     protected override void InitComponent()
     {
-
+        guildBtn.AddListener(() =>
+        {
+            // UIManager.Instance.OpenWindow<GuildWin>();
+        });
+        
+        requestBtn.AddListener(() =>
+        {
+            // UIManager.Instance.OpenWindow<GuildRequestWin>();
+        });
     }
 
 
     protected override void OnPreOpen()
     {
+        if (PlayerDatas.Instance.fairyData.fairy == null)
+            return;
+
+
+        Display();
     }
 
     protected override void OnPreClose()
@@ -25,10 +46,17 @@
     }
 
 
-    public override void Refresh()
+    void Display()
     {
-
+        ShowGuildInfo();
     }
 
 
+    void ShowGuildInfo()
+    {
+        emblemCell.Display(PlayerDatas.Instance.fairyData.fairy.EmblemID, PlayerDatas.Instance.fairyData.fairy.EmblemWord);
+        guildNameText.text = PlayerDatas.Instance.fairyData.fairy.FamilyName;
+        var config = FamilyConfig.Get(PlayerDatas.Instance.fairyData.fairy.FamilyLV);
+        guildMemberCountText.text = PlayerDatas.Instance.fairyData.fairy.MemberCount + "/" + config.MemberMax;
+    }
 }
\ No newline at end of file
diff --git a/Main/System/Guild/GuildEmblemCell.cs b/Main/System/Guild/GuildEmblemCell.cs
index 422c203..2f7690d 100644
--- a/Main/System/Guild/GuildEmblemCell.cs
+++ b/Main/System/Guild/GuildEmblemCell.cs
@@ -29,6 +29,7 @@
             if (effectID != 0)
             {
                 uiEffect.effectId = effectID;
+                uiEffect.isPlaySpineLoop = true;
                 uiEffect.Play();
             }
         }
diff --git a/Main/System/Guild/GuildEmblemModel.cs b/Main/System/Guild/GuildEmblemModel.cs
index d50ac7a..4c20f2f 100644
--- a/Main/System/Guild/GuildEmblemModel.cs
+++ b/Main/System/Guild/GuildEmblemModel.cs
@@ -130,13 +130,15 @@
     // 鍒锋柊鏃х殑婵�娲诲垪琛紝鐢ㄤ簬瀵规瘮绾㈢偣鏄剧ず
     public void RefreshOldShowActiveList()
     {
-        oldShowActiveList.Clear();
         for (int i = 0; i < showList.Count; i++)
         {
             //宸茶В閿佺殑
             if (IsUnLock(showList[i]))
             {
-                oldShowActiveList.Add(showList[i]);
+                if (!oldShowActiveList.Contains(showList[i]))
+                {
+                    oldShowActiveList.Add(showList[i]);
+                }
             }
         }
     }
diff --git a/Main/System/Guild/GuildEmblemSelectCell.cs b/Main/System/Guild/GuildEmblemSelectCell.cs
index 9758ca4..fc2e58b 100644
--- a/Main/System/Guild/GuildEmblemSelectCell.cs
+++ b/Main/System/Guild/GuildEmblemSelectCell.cs
@@ -50,6 +50,7 @@
 
     void OnClick(int id)
     {
+        GuildEmblemModel.Instance.RefreshOldShowActiveList();
         GuildEmblemModel.Instance.nowChooseEmblemId = id;
     }
 
diff --git a/Main/System/Guild/GuildEmblemWin.cs b/Main/System/Guild/GuildEmblemWin.cs
index 9112e82..97ae72e 100644
--- a/Main/System/Guild/GuildEmblemWin.cs
+++ b/Main/System/Guild/GuildEmblemWin.cs
@@ -52,6 +52,7 @@
 
         GuildEmblemModel.Instance.ChooseEmblemIdChangeEvent -= ChooseEmblemEvent;
         emblemScroller.OnRefreshCell -= OnRefreshCell;
+        GuildEmblemModel.Instance.RefreshOldShowActiveList();
     }
 
     void CreateEmblemScroller()

--
Gitblit v1.8.0