From bd41d84bbd61de37bd880c591ecce690ebe294bd Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期日, 19 十月 2025 18:12:49 +0800
Subject: [PATCH] 65 子 【公会】基础主体 / 【公会】基础主体-客户端

---
 Main/System/Guild/PlayerFairyData.cs |  118 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 65 insertions(+), 53 deletions(-)

diff --git a/Main/System/Guild/PlayerFairyData.cs b/Main/System/Guild/PlayerFairyData.cs
index f3ea866..d058ee8 100644
--- a/Main/System/Guild/PlayerFairyData.cs
+++ b/Main/System/Guild/PlayerFairyData.cs
@@ -7,17 +7,22 @@
 /** 鐜╁浠欑洘鐩稿叧淇℃伅缂撳瓨鏁版嵁 */
 public class PlayerFairyData
 {
-    private bool hasFairy = false;
+
     public bool HasFairy
     {
-        get { return hasFairy; }
+        get
+        {
+            if (fairy == null) return false;
+            if (fairy.FamilyID == 0) return false;
+            return true;
+        }
     }
 
 
     public FairyData fairy = null;  //鑷繁鐨勫叕浼氭暟鎹�
     public FairyMember mine = null;
     public event Action OnRefreshFairyInfo;
-    public event Action OnRefreshFairyMine;
+    public event Action OnRefreshFairyMine; //鐜╁鍦ㄥ叕浼氶噷鐨勬暟鎹�
     private Dictionary<int, FairyMember> memberDic = new Dictionary<int, FairyMember>();
 
     // 0-鎴愬憳锛�1-绮捐嫳锛�2-鍓洘涓伙紝3-鐩熶富
@@ -33,19 +38,18 @@
         {
             fairy = new FairyData();
         }
-        fairy.FamilyID = vNetData.FamilyID;
-        if (fairy.FamilyID != 0) hasFairy = true;
+        fairy.FamilyID = (int)vNetData.FamilyID;
         fairy.FamilyName = UIHelper.ServerStringTrim(vNetData.FamilyName);
         fairy.FamilyLV = vNetData.FamilyLV;
-        fairy.FamilyLVExp = vNetData.FamilyLVExp;
+        fairy.FamilyLVExp = (int)vNetData.FamilyLVExp;
         fairy.JoinReview = vNetData.JoinReview;
         fairy.JoinLVMin = vNetData.JoinLVMin;
-        fairy.ServerID = vNetData.ServerID;
-        fairy.EmblemID = vNetData.EmblemID;
+        fairy.ServerID = (int)vNetData.ServerID;
+        fairy.EmblemID = (int)vNetData.EmblemID;
         fairy.EmblemWord = vNetData.EmblemWord;
         fairy.totalFightPower = vNetData.FightPowerEx * Constants.ExpPointValue + vNetData.FightPower;
         fairy.Broadcast = vNetData.Broadcast;
-        fairy.LeaderID = vNetData.LeaderID;
+        fairy.LeaderID = (int)vNetData.LeaderID;
         fairy.MemberCount = vNetData.MemberCount;
 
         mine = null;
@@ -56,28 +60,29 @@
             FairyMember member = new FairyMember();
             memberDic[(int)vNetData.MemberList[i].PlayerID] = member;
 
-            member.PlayerID = vNetData.MemberList[i].PlayerID;
+            member.PlayerID = (int)vNetData.MemberList[i].PlayerID;
             member.Name = vNetData.MemberList[i].Name;
-            member.JoinTime = vNetData.MemberList[i].JoinTime;
+            member.JoinTime = (int)vNetData.MemberList[i].JoinTime;
             member.FmLV = vNetData.MemberList[i].FmLV;
             member.LV = vNetData.MemberList[i].LV;
             member.Job = vNetData.MemberList[i].Job;
             member.RealmLV = vNetData.MemberList[i].RealmLV;
-            member.Face = vNetData.MemberList[i].Face;
-            member.FacePic = vNetData.MemberList[i].FacePic;
-            member.TitleID = vNetData.MemberList[i].TitleID;
+            member.Face = (int)vNetData.MemberList[i].Face;
+            member.FacePic = (int)vNetData.MemberList[i].FacePic;
+            member.TitleID = (int)vNetData.MemberList[i].TitleID;
             member.FightPower = vNetData.MemberList[i].FightPower + vNetData.MemberList[i].FightPowerEx * Constants.ExpPointValue;
-            member.ServerID = vNetData.MemberList[i].ServerID;
-            member.ContribTotal = vNetData.MemberList[i].ContribTotal;
-            member.ContribDay = vNetData.MemberList[i].ContribDay;
-            member.DonateCntTotal = vNetData.MemberList[i].DonateCntTotal;
+            member.ServerID = (int)vNetData.MemberList[i].ServerID;
+            member.ContribTotal = (int)vNetData.MemberList[i].ContribTotal;
+            member.ContribDay = (int)vNetData.MemberList[i].ContribDay;
+            member.DonateCntTotal = (int)vNetData.MemberList[i].DonateCntTotal;
             member.DonateCntDay = vNetData.MemberList[i].DonateCntDay;
-            member.OffTime = vNetData.MemberList[i].OffTime;
+            member.OffTime = (int)vNetData.MemberList[i].OffTime;
 
             if (member.PlayerID == PlayerDatas.Instance.baseData.PlayerID)
             {
                 //鑷繁
                 mine = member;
+                OnRefreshFairyMine?.Invoke();
             }
 
             // 0-鎴愬憳锛�1-绮捐嫳锛�2-鍓洘涓伙紝3-鐩熶富
@@ -118,6 +123,13 @@
     }
     #endregion
 
+    public void ClearData()
+    {
+        fairy = null;
+        mine = null;
+        memberDic.Clear();
+        leaderID = 0;
+    }
 
 }
 
@@ -125,19 +137,19 @@
 //鍏細鏁版嵁
 public class FairyData
 {
-    public ushort Rank;        //鍚嶆锛屼粠1寮�濮�
-    public uint FamilyID;
+    public int Rank;        //鍚嶆锛屼粠1寮�濮�
+    public int FamilyID;
     public string FamilyName;    //瀹舵棌鍚嶇О
-    public byte FamilyLV;    //瀹舵棌绛夌骇
-    public uint FamilyLVExp;    //瀹舵棌绛夌骇缁忛獙
-    public byte JoinReview;    //鎴愬憳鍔犲叆鏄惁闇�瑕佸鏍革紝榛樿0鑷姩鍔犲叆
-    public ushort JoinLVMin;    //闄愬埗鏈�浣庡彲鍔犲叆鐨勭帺瀹剁瓑绾�
-    public uint ServerID;    //鍖烘湇ID锛屽垱寤烘椂浠ユ棌闀跨殑鍖烘湇ID璧嬪��
-    public uint EmblemID;    //寰界珷ID
+    public int FamilyLV;    //瀹舵棌绛夌骇
+    public int FamilyLVExp;    //瀹舵棌绛夌骇缁忛獙
+    public int JoinReview;    //鎴愬憳鍔犲叆鏄惁闇�瑕佸鏍革紝榛樿0鑷姩鍔犲叆
+    public int JoinLVMin;    //闄愬埗鏈�浣庡彲鍔犲叆鐨勭帺瀹剁瓑绾�
+    public int ServerID;    //鍖烘湇ID锛屽垱寤烘椂浠ユ棌闀跨殑鍖烘湇ID璧嬪��
+    public int EmblemID;    //寰界珷ID
     public string EmblemWord;    //寰界珷鏂囧瓧
     public long totalFightPower;
     public string Broadcast;
-    public uint LeaderID;    //鏃忛暱鐜╁ID
+    public int LeaderID;    //鏃忛暱鐜╁ID
     public int MemberCount;
 
     //鏌ユ壘澧炲姞鐨勫瓧娈�
@@ -147,39 +159,39 @@
 
 public class FairyMember
 {
-    public uint PlayerID;
+    public int PlayerID;
     public string Name;        //size = NameLen
-    public uint JoinTime;        //鍔犲叆瀹舵棌鏃舵椂闂存埑
-    public byte FmLV;        //瀹舵棌鑱屼綅: 0-鎴愬憳锛�1-绮捐嫳锛�2-鍓棌闀匡紱3-鏃忛暱
-    public ushort LV;        //绛夌骇
-    public byte Job;        //鑱屼笟
-    public byte RealmLV;        //澧冪晫
-    public uint Face;        //鍩烘湰鑴稿瀷
-    public uint FacePic;        //澶村儚妗�
-    public uint TitleID;        //绉板彿
+    public int JoinTime;        //鍔犲叆瀹舵棌鏃舵椂闂存埑
+    public int FmLV;        //瀹舵棌鑱屼綅: 0-鎴愬憳锛�1-绮捐嫳锛�2-鍓棌闀匡紱3-鏃忛暱
+    public int LV;        //绛夌骇
+    public int Job;        //鑱屼笟
+    public int RealmLV;        //澧冪晫
+    public int Face;        //鍩烘湰鑴稿瀷
+    public int FacePic;        //澶村儚妗�
+    public int TitleID;        //绉板彿
     public long FightPower;        //鎴樺姏锛屾眰浣欎嚎閮ㄥ垎
-    public uint ServerID;        //鎵�灞炲尯鏈岻D
-    public uint ContribTotal;        //鎬昏础鐚害
-    public uint ContribDay;        //鏃ヨ础鐚害
-    public uint DonateCntTotal;        //鎬绘崘鐚鏁�
-    public byte DonateCntDay;        //鏃ユ崘鐚鏁�
-    public uint OffTime;        // 0-鍦ㄧ嚎; >0-/绂荤嚎鏃堕棿鎴�
+    public int ServerID;        //鎵�灞炲尯鏈岻D
+    public int ContribTotal;        //鎬昏础鐚害
+    public int ContribDay;        //鏃ヨ础鐚害
+    public int DonateCntTotal;        //鎬绘崘鐚鏁�
+    public int DonateCntDay;        //鏃ユ崘鐚鏁�
+    public int OffTime;        // 0-鍦ㄧ嚎; >0-/绂荤嚎鏃堕棿鎴�
 }
 
 public class FairyApply
 {
-    public uint PlayerID;
+    public int PlayerID;
     public string Name;      
-    public uint ReqTime;        //鐢宠鏃堕棿鎴�
-    public ushort LV;        //绛夌骇
-    public byte Job;        //鑱屼笟
-    public byte RealmLV;        //澧冪晫
-    public uint Face;        //鍩烘湰鑴稿瀷
-    public uint FacePic;        //澶村儚妗�
-    public uint TitleID;        //绉板彿
+    public int ReqTime;        //鐢宠鏃堕棿鎴�
+    public int LV;        //绛夌骇
+    public int Job;        //鑱屼笟
+    public int RealmLV;        //澧冪晫
+    public int Face;        //鍩烘湰鑴稿瀷
+    public int FacePic;        //澶村儚妗�
+    public int TitleID;        //绉板彿
     public long FightPower;     
-    public uint ServerID;        //鎵�灞炲尯鏈岻D
-    public byte IsOnLine;        //鏄惁鍦ㄧ嚎
+    public int ServerID;        //鎵�灞炲尯鏈岻D
+    public int IsOnLine;        //鏄惁鍦ㄧ嚎
 }
 
 //鏉冮檺ID: 1-鏀朵汉锛�2-鍙樻洿鑱屼綅锛�3-鍙戝竷鍏憡锛�4-韪汉

--
Gitblit v1.8.0