From 65e5d4f1756f572650f96074b90a1865114937fa Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 02 十二月 2025 00:02:42 +0800
Subject: [PATCH] 0312 同步sdk;增加申请隐私权限 287 【公会】BOSS讨伐 - 临时同步

---
 Main/System/Guild/GuildBossOtherPlayer.cs                                                     |   20 +
 Main/Core/NetworkPackage/ServerPack/HA5_Family/HA504_tagSCFamilyTaofaAtkRet.cs.meta           |   11 +
 Main/System/InternalAffairs/AffairFuncCell.cs                                                 |    8 
 Main/Core/NetworkPackage/ClientPack/CA6_Family/CA613_tagCSFamilyTaofaOP.cs                    |   18 +
 Main/System/Guild/GuildEmblemModel.cs                                                         |    4 
 Main/Core/NetworkPackage/ServerPack/HA5_Family/HA504_tagSCFamilyTaofaAtkRet.cs                |   47 ++++
 Main/System/Guild/GuildBossWin.cs                                                             |  170 +++++++++++++++
 Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA504_tagSCFamilyTaofaAtkRet.cs      |   11 +
 Main/System/Guild/GuildFuncCell.cs                                                            |   51 ++++
 Main/Core/GameEngine/Launch/RequestPermissionStart.cs                                         |    5 
 Main/System/Guild/GuildBossWin.cs.meta                                                        |   11 +
 Main/System/Guild/GuildFuncCell.cs.meta                                                       |   11 +
 Main/System/Guild/GuildBossOtherPlayerAttack.cs.meta                                          |   11 +
 Main/Main.cs                                                                                  |    1 
 Main/System/Guild/GuildBossManager.cs.meta                                                    |   11 +
 Main/System/Guild/GuildBossOtherPlayerAttack.cs                                               |   23 ++
 Main/SDK/SDKUtils.cs                                                                          |   23 ++
 Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA504_tagSCFamilyTaofaAtkRet.cs.meta |   11 +
 Main/System/Guild/GuildManager.cs                                                             |    8 
 Main/System/Guild/GuildBossManager.cs                                                         |   96 ++++++++
 Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA503_tagSCFamilyTaofaInfo.cs        |   11 +
 Main/System/Guild/GuildChangeNameWin.cs                                                       |    2 
 Main/System/Guild/GuildBossOtherPlayer.cs.meta                                                |   11 +
 Main/Core/NetworkPackage/ServerPack/HA5_Family/HA503_tagSCFamilyTaofaInfo.cs.meta             |   11 +
 Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA503_tagSCFamilyTaofaInfo.cs.meta   |   11 +
 Main/Core/NetworkPackage/ClientPack/CA6_Family/CA613_tagCSFamilyTaofaOP.cs.meta               |   11 +
 Main/Core/NetworkPackage/ServerPack/HA5_Family/HA503_tagSCFamilyTaofaInfo.cs                  |   33 +++
 27 files changed, 629 insertions(+), 12 deletions(-)

diff --git a/Main/Core/GameEngine/Launch/RequestPermissionStart.cs b/Main/Core/GameEngine/Launch/RequestPermissionStart.cs
index f9e5dbb..50618ba 100644
--- a/Main/Core/GameEngine/Launch/RequestPermissionStart.cs
+++ b/Main/Core/GameEngine/Launch/RequestPermissionStart.cs
@@ -13,7 +13,10 @@
         else
         {
             //鍏堝脊闅愮鏀跨瓥锛屽悓鎰忎箣鍚庢墠鍙互鐢宠鏉冮檺 缁х画娓告垙
-            UIManager.Instance.OpenWindow<RequestSecretWin>();
+            // UIManager.Instance.OpenWindow<RequestSecretWin>();
+
+            //鏀规垚鍚慡DK璇锋眰闅愮鏉冮檺
+            SDKUtils.Instance.RequestSecretRule();
         }
     }
 
diff --git a/Main/Core/NetworkPackage/ClientPack/CA6_Family/CA613_tagCSFamilyTaofaOP.cs b/Main/Core/NetworkPackage/ClientPack/CA6_Family/CA613_tagCSFamilyTaofaOP.cs
new file mode 100644
index 0000000..2e71c19
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/CA6_Family/CA613_tagCSFamilyTaofaOP.cs
@@ -0,0 +1,18 @@
+using UnityEngine;
+using System.Collections;
+
+// A6 13 鍏細璁ㄤ紣 #tagCSFamilyTaofaOP
+
+public class CA613_tagCSFamilyTaofaOP : GameNetPackBasic {
+    public byte OpType;    // 鎿嶄綔锛�0-鏂╂潃鏀诲嚮锛�1-甯冮樀
+
+    public CA613_tagCSFamilyTaofaOP () {
+        combineCmd = (ushort)0x03FE;
+        _cmd = (ushort)0xA613;
+    }
+
+    public override void WriteToBytes () {
+        WriteBytes (OpType, NetDataType.BYTE);
+    }
+
+}
diff --git a/Main/Core/NetworkPackage/ClientPack/CA6_Family/CA613_tagCSFamilyTaofaOP.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA6_Family/CA613_tagCSFamilyTaofaOP.cs.meta
new file mode 100644
index 0000000..fd0eae6
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/CA6_Family/CA613_tagCSFamilyTaofaOP.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 61abee0820b4d664c85b60ff7e8c1e1d
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA503_tagSCFamilyTaofaInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA503_tagSCFamilyTaofaInfo.cs
new file mode 100644
index 0000000..b40f7bb
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA503_tagSCFamilyTaofaInfo.cs
@@ -0,0 +1,11 @@
+using UnityEngine;
+using System.Collections;
+
+// A5 03 鍏細璁ㄤ紣淇℃伅 #tagSCFamilyTaofaInfo
+
+public class DTCA503_tagSCFamilyTaofaInfo : DtcBasic {
+    public override void Done(GameNetPackBasic vNetPack) {
+        base.Done(vNetPack);
+        HA503_tagSCFamilyTaofaInfo vNetData = vNetPack as HA503_tagSCFamilyTaofaInfo;
+    }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA503_tagSCFamilyTaofaInfo.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA503_tagSCFamilyTaofaInfo.cs.meta
new file mode 100644
index 0000000..98fe734
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA503_tagSCFamilyTaofaInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5bb47775b808e4348b8fdf6be4aa3a3d
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA504_tagSCFamilyTaofaAtkRet.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA504_tagSCFamilyTaofaAtkRet.cs
new file mode 100644
index 0000000..7ca7bf9
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA504_tagSCFamilyTaofaAtkRet.cs
@@ -0,0 +1,11 @@
+using UnityEngine;
+using System.Collections;
+
+// A5 04 鍏細璁ㄤ紣鏀诲嚮缁撴灉 #tagSCFamilyTaofaAtkRet
+
+public class DTCA504_tagSCFamilyTaofaAtkRet : DtcBasic {
+    public override void Done(GameNetPackBasic vNetPack) {
+        base.Done(vNetPack);
+        HA504_tagSCFamilyTaofaAtkRet vNetData = vNetPack as HA504_tagSCFamilyTaofaAtkRet;
+    }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA504_tagSCFamilyTaofaAtkRet.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA504_tagSCFamilyTaofaAtkRet.cs.meta
new file mode 100644
index 0000000..53c640f
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA504_tagSCFamilyTaofaAtkRet.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8deea2584cee4ed47bb08e6546bb66d5
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA503_tagSCFamilyTaofaInfo.cs b/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA503_tagSCFamilyTaofaInfo.cs
new file mode 100644
index 0000000..f17749f
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA503_tagSCFamilyTaofaInfo.cs
@@ -0,0 +1,33 @@
+using UnityEngine;
+using System.Collections;
+
+// A5 03 鍏細璁ㄤ紣淇℃伅 #tagSCFamilyTaofaInfo
+
+public class HA503_tagSCFamilyTaofaInfo : GameNetPackBasic {
+    public byte BuZhenState;    // 鏄惁宸插竷闃�
+    public ushort AtkCount;    // 宸叉柀鏉�娆℃暟锛岀敤浜庤绠楀墿浣欐鏁�=鍏嶈垂娆℃暟+閬撳叿澧炲姞娆℃暟-宸叉柀鏉�娆℃暟
+    public ushort ItemAddCount;    // 閬撳叿澧炲姞鏂╂潃娆℃暟
+    public ushort Anger;    // 褰撳墠鎬掓皵鍊�
+    public ushort BoxUnGetCount;    // 褰撳墠鏈鍙栫殑瀹濈鏁帮紝鍗冲彲棰嗗彇鐨�
+    public uint BoxHurt;    // 瀹濈濂栧姳璁$畻绱浼ゅ锛屾眰浣欎嚎閮ㄥ垎锛涗釜浜轰粖鏃ョ疮璁′激瀹筹紝鎹㈠叕浼氫笉浼氶噸缃�
+    public uint BoxHurtEx;    // 瀹濈濂栧姳璁$畻绱浼ゅ锛屾暣闄や嚎閮ㄥ垎
+    public uint BoxHurtHis;    // 瀹濈濂栧姳璁$畻绱鍘嗗彶鏈�楂樹激瀹筹紝姹備綑浜块儴鍒�
+    public uint BoxHurtHisEx;    // 瀹濈濂栧姳璁$畻绱鍘嗗彶鏈�楂樹激瀹筹紝鏁撮櫎浜块儴鍒�
+
+    public HA503_tagSCFamilyTaofaInfo () {
+        _cmd = (ushort)0xA503;
+    }
+
+    public override void ReadFromBytes (byte[] vBytes) {
+        TransBytes (out BuZhenState, vBytes, NetDataType.BYTE);
+        TransBytes (out AtkCount, vBytes, NetDataType.WORD);
+        TransBytes (out ItemAddCount, vBytes, NetDataType.WORD);
+        TransBytes (out Anger, vBytes, NetDataType.WORD);
+        TransBytes (out BoxUnGetCount, vBytes, NetDataType.WORD);
+        TransBytes (out BoxHurt, vBytes, NetDataType.DWORD);
+        TransBytes (out BoxHurtEx, vBytes, NetDataType.DWORD);
+        TransBytes (out BoxHurtHis, vBytes, NetDataType.DWORD);
+        TransBytes (out BoxHurtHisEx, vBytes, NetDataType.DWORD);
+    }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA503_tagSCFamilyTaofaInfo.cs.meta b/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA503_tagSCFamilyTaofaInfo.cs.meta
new file mode 100644
index 0000000..61d5bf9
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA503_tagSCFamilyTaofaInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: cded2a810ac2f844fa72b3439fbff27e
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA504_tagSCFamilyTaofaAtkRet.cs b/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA504_tagSCFamilyTaofaAtkRet.cs
new file mode 100644
index 0000000..7c1ffc6
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA504_tagSCFamilyTaofaAtkRet.cs
@@ -0,0 +1,47 @@
+using UnityEngine;
+using System.Collections;
+
+// A5 04 鍏細璁ㄤ紣鏀诲嚮缁撴灉 #tagSCFamilyTaofaAtkRet
+
+public class HA504_tagSCFamilyTaofaAtkRet : GameNetPackBasic {
+    public byte AtkType;    // 鏀诲嚮绫诲瀷锛�0-甯歌锛�1-鎬掓皵鏀诲嚮
+    public byte HurtCount;
+    public  tagSCFamilyTaofaAtkHurt[] HurtList;    // 浼ゅ娆℃暟鍒楄〃锛屽鎬掓皵鏀诲嚮鏈夊娆′激瀹�
+    public byte ItemCount;
+    public  tagSCFamilyTaofaAtkItem[] ItemList;    // 濂栧姳鐗╁搧鍒楄〃
+
+    public HA504_tagSCFamilyTaofaAtkRet () {
+        _cmd = (ushort)0xA504;
+    }
+
+    public override void ReadFromBytes (byte[] vBytes) {
+        TransBytes (out AtkType, vBytes, NetDataType.BYTE);
+        TransBytes (out HurtCount, vBytes, NetDataType.BYTE);
+        HurtList = new tagSCFamilyTaofaAtkHurt[HurtCount];
+        for (int i = 0; i < HurtCount; i ++) {
+            HurtList[i] = new tagSCFamilyTaofaAtkHurt();
+            TransBytes (out HurtList[i].IsSuper, vBytes, NetDataType.BYTE);
+            TransBytes (out HurtList[i].HurtValue, vBytes, NetDataType.DWORD);
+            TransBytes (out HurtList[i].HurtValueEx, vBytes, NetDataType.DWORD);
+        }
+        TransBytes (out ItemCount, vBytes, NetDataType.BYTE);
+        ItemList = new tagSCFamilyTaofaAtkItem[ItemCount];
+        for (int i = 0; i < ItemCount; i ++) {
+            ItemList[i] = new tagSCFamilyTaofaAtkItem();
+            TransBytes (out ItemList[i].ItemID, vBytes, NetDataType.DWORD);
+            TransBytes (out ItemList[i].Count, vBytes, NetDataType.DWORD);
+        }
+    }
+
+    public class tagSCFamilyTaofaAtkHurt {
+        public byte IsSuper;        // 鏄惁鏆村嚮
+        public uint HurtValue;        // 鏈浼ゅ锛屾眰浣欎嚎閮ㄥ垎
+        public uint HurtValueEx;        // 鏈浼ゅ锛屾暣闄や嚎閮ㄥ垎
+    }
+
+    public class tagSCFamilyTaofaAtkItem {
+        public uint ItemID;
+        public uint Count;
+    }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA504_tagSCFamilyTaofaAtkRet.cs.meta b/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA504_tagSCFamilyTaofaAtkRet.cs.meta
new file mode 100644
index 0000000..c593950
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA504_tagSCFamilyTaofaAtkRet.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: de221c7f129422242b0ce031344e083b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/Main.cs b/Main/Main.cs
index 26670dd..d7874ee 100644
--- a/Main/Main.cs
+++ b/Main/Main.cs
@@ -92,6 +92,7 @@
         managers.Add(PhantasmPavilionManager.Instance);
         managers.Add(AttributeManager.Instance);
         managers.Add(FuncNPCManager.Instance);
+        managers.Add(GuildBossManager.Instance);
 
         foreach (var manager in managers)
         {
diff --git a/Main/SDK/SDKUtils.cs b/Main/SDK/SDKUtils.cs
index d944353..20df1b8 100644
--- a/Main/SDK/SDKUtils.cs
+++ b/Main/SDK/SDKUtils.cs
@@ -126,6 +126,7 @@
 
     private JsonData m_Json = new JsonData();
 
+
     public void Init()
     {
         ynmbxxjUtil.Instance.Init();    // sdk涓存椂鐢紝鍚庣画鏂板仛SDK鍚庡垹闄�
@@ -345,6 +346,15 @@
     }
 
 
+    public void RequestSecretRule()
+    {
+        m_Json.Clear();
+        m_Json["code"] = CodeU2A.RequestSecretRule;
+        SendMessageToSDK(m_Json);
+    }
+
+
+
     //璺宠浆搴旂敤鍟嗗簵
     public void GoToAppStore(string url, string marketPkg = "")
     {
@@ -391,7 +401,7 @@
 
 #if !UNITY_EDITOR
 #if UNITY_ANDROID
-        using (AndroidJavaClass H2engineSDK = new AndroidJavaClass("com.secondworld.sdk.UnityMsgHandler"))
+        using (AndroidJavaClass H2engineSDK = new AndroidJavaClass("com.wgyx.sdk.UnityMsgHandler"))
         {
             H2engineSDK.CallStatic("onUnityMessage", json.ToJson());
         }
@@ -506,6 +516,11 @@
                     var permission = (string)_json["permission"];
                     onPermissionCallBack?.Invoke(permission, state);
                     onPermissionCallBack = null;
+                    break;
+                }
+            case CodeA2U.SecretRuleOK:
+                {
+                    IsAgreeSecret = true;
                     break;
                 }
             case CodeA2U.FreePlatformInitOk:
@@ -656,6 +671,11 @@
         */
         public const int PermissionCallBack = 8;
 
+        /**
+         * 鍚屾剰闅愮鍗忚
+         */
+        public const int SecretRuleOK = 9;
+
         #endregion
 
         #region 鑷敱sdk_code
@@ -735,6 +755,7 @@
 
         // 鍚姩鏃剁敵璇锋潈闄愶紝鐢宠瑙勫垯sdk鍐冲畾
         public const int RequestPermissionStart = 14;
+        public const int RequestSecretRule = 15;  // 鍚慡DK璇锋眰闅愮鍗忚
 
         /**
          * 鑷敱sdk鐩稿叧
diff --git a/Main/System/Guild/GuildBossManager.cs b/Main/System/Guild/GuildBossManager.cs
new file mode 100644
index 0000000..6c9e237
--- /dev/null
+++ b/Main/System/Guild/GuildBossManager.cs
@@ -0,0 +1,96 @@
+
+using LitJson;
+
+public class GuildBossManager : GameSystemManager<GuildBossManager>
+{
+    //閰嶇疆
+    public int initSuperHitRate;
+    public int[] bzAddAttrs;
+    public int bzMaxLevel;
+
+    public int freeAtkCount;
+    public int[][] atkItemList;
+    public int maxAngerValue;
+
+    public int[] bxCumulativeDamageList;
+    public int bxDailyMax;  //涓汉姣忔棩浜у嚭涓婇檺
+    public int bxDailyAwardMax; //涓汉姣忔棩棰嗗彇濂栧姳涓婇檺
+    void ParseConfig()
+    {
+        // 鏁板��1锛氬垵濮嬫毚鍑荤巼涓囧垎鐜囷紝鍔熻兘鐙珛鐨勬毚鍑荤巼锛屼笌瑙掕壊鏆村嚮鏃犲叧
+        // 鏁板��3锛氬竷闃垫渶澶у眰绾э紝鏆傚浐瀹氭瘡浜�1娆★紝1娆�1灞�
+        var config = FuncConfigConfig.Get("FamilyTaofaBuzhen");
+        initSuperHitRate = int.Parse(config.Numerical1);
+        bzAddAttrs = ConfigParse.GetMultipleStr<int>(config.Numerical2);
+        bzMaxLevel = int.Parse(config.Numerical3);
+
+        // 鏁板��1锛氭瘡鏃ュ厤璐规柀鏉�娆℃暟
+        // 鏁板��2锛氭瘡娆℃櫘閫氭柀鏉�鑾峰緱涓汉濂栧姳鍒楄〃 [[鐗╁搧ID,涓暟], ...]
+        // 鏁板��4锛氬父瑙勬柀鏉�澧炲姞鎬掓皵|鏆村嚮鏂╂潃澧炲姞鎬掓皵|婊℃�掓皵鍊�
+        config = FuncConfigConfig.Get("FamilyTaofaAtk");
+        freeAtkCount = int.Parse(config.Numerical1);
+        atkItemList = JsonMapper.ToObject<int[][]>(config.Numerical2);
+        maxAngerValue = int.Parse(config.Numerical4.Split('|')[2]);
+
+        // 鏁板��1锛氫骇鍑哄疂绠辩殑绱浼ゅ鍒楄〃 [瀹濈1鎵�闇�绱浼ゅ,  ...]锛屾渶鍚庝竴妗d激瀹冲彲浠ュ惊鐜骇鍑猴紝鐩村埌褰撴棩鐨勮础鐚疂绠变笂闄�
+        // 鏁板��2锛氭瘡鏃ヤ釜浜鸿础鐚疂绠辨暟涓婇檺锛屾渶鍚庝竴妗e彲寰幆锛屼笂闄愭帶鍒�
+        // 鏁板��3锛氭瘡鏃ヤ釜浜洪鍙栧疂绠卞鍔变釜鏁颁笂闄�
+        config = FuncConfigConfig.Get("FamilyTaofaBox");
+        bxCumulativeDamageList = JsonMapper.ToObject<int[]>(config.Numerical1);
+        bxDailyMax = int.Parse(config.Numerical2);
+        bxDailyAwardMax = int.Parse(config.Numerical3);
+    }
+
+    public override void Init()
+    {
+        ParseConfig();
+    }
+    public override void Release()
+    {
+    }
+
+    //// 鎿嶄綔锛�0-鏂╂潃鏀诲嚮锛�1-甯冮樀
+    public void TaofaBoss(int opType)
+    {
+        var pack = new CA613_tagCSFamilyTaofaOP();
+        pack.OpType = (byte)opType;
+        GameNetSystem.Instance.SendInfo(pack);
+    }
+
+
+
+
+    // 銆愬叕浼氳涓恒��
+    // 澧炲姞琛屼负绫诲瀷18 - 鍏細璁ㄤ紣鐩稿叧鏁版嵁
+    // Value1    鐜╁ID 鎴�  鍏ㄥ眬ID锛屽綋璇ュ�肩瓑浜�1鏃朵唬琛ㄨ鏉℃暟鎹褰曠殑鏄浼愬叏灞�鏁版嵁锛屼互涓嬪叾浠栧�兼牴鎹甐alue1浠h〃涓嶅悓鎰忔��
+    //                   鐜╁                                     鍏ㄥ眬                            
+    // Time      鏈�鍚庤浼愭椂闂存埑                     閲嶇疆鏃堕棿鎴筹紝鍓嶇鍙敤浜庡垽鏂槸鍚﹀彉鏇翠簡涓嶅悓鐨勮浼愶紙鍙樻洿鍚庯紝鍓嶇鍙噸缃浼愮浉鍏崇紦瀛樻暟鎹紝GM閲嶇疆浼氬彉鏇达級
+    // Value2     鐜╁甯冮樀鏃堕棿鎴�                          甯冮樀灞傜骇鍒版湡鏃堕棿鎴�                          
+    // Value3     鍒版湰鍏細鍚庢敾鍑绘鏁�                    褰撳墠鏈夋晥甯冮樀灞傜骇 
+    // Value4     鍒版湰鍏細鍚庣疮璁′激瀹筹紝姹備綑浜块儴鍒�                  鏃�     
+    // Value5     鍒版湰鍏細鍚庣疮璁′激瀹筹紝鏁撮櫎浜块儴鍒�                  鏃�     
+    // Value6     鍒版湰鍏細鍚庤础鐚疂绠辨暟                                    鏃�     
+    // UseData  鍒版湰鍏細鍚庤褰�                                              鏃�   
+    // 鎴愬憳璁板綍鏍煎紡锛� Json鏍煎紡  {"atkList":[[atkTime, 鏈璐$尞绠卞瓙鏁�, 鏈鎬讳激瀹�, atkType], ...],   "info":{k:v, ...}}
+    // atkList   -     璁ㄤ紣璁板綍鍒楄〃锛屽彲鐢ㄤ簬琛ㄧ幇鎴愬憳澶村儚鏀诲嚮锛� atkTime  -  鏀诲嚮鏃堕棿鎴筹紝  atkType  -  鏀诲嚮绫诲瀷锛�0-鏅�氭敾鍑伙紝 1-鎬掓皵鏀诲嚮锛�
+    // info     -     涓嶄竴瀹氭湁璇ey锛屼粎閫�鍑虹殑鎴愬憳鎵嶆湁锛岀敤浜庢洿鏂伴��鍑烘垚鍛樼浉鍏冲熀纭�淇℃伅锛屽鍚嶅瓧銆佸ご鍍忕瓑锛岃繕鍦ㄥ叕浼氶噷鐨勬垚鍛橀�氳繃 // A5 20 鐜╁瀹舵棌淇℃伅 #tagMCRoleFamilyInfo 鍙栨垚鍛樹俊鎭�
+    // "info":{"LV":106,"Job":1,"Name":"涓诲叕3016219","FacePic":0,"FightPower":1831995,"RealmLV":12,"ServerID":86,"TitleID":0,"Face":0},
+    public HA513_tagMCFamilyActionInfo.tagMCFamilyAction GetGuildBossAction()
+    {
+        GuildManager.Instance.TryGetFamilyActions(GuildManager.GuildBossActionType, out var familyActions);
+        if (familyActions == null)
+        {
+            return null;
+        }
+        foreach (var action in familyActions)
+        {
+            if (action.Value1 == 1)
+            {
+                return action;
+            }
+        }
+        return null;
+    }
+
+}
+
diff --git a/Main/System/Guild/GuildBossManager.cs.meta b/Main/System/Guild/GuildBossManager.cs.meta
new file mode 100644
index 0000000..477127f
--- /dev/null
+++ b/Main/System/Guild/GuildBossManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7860a8beea299f0428d74f54c7a778e0
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/System/Guild/GuildBossOtherPlayer.cs b/Main/System/Guild/GuildBossOtherPlayer.cs
new file mode 100644
index 0000000..70e78f5
--- /dev/null
+++ b/Main/System/Guild/GuildBossOtherPlayer.cs
@@ -0,0 +1,20 @@
+锘縰sing System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+//鍏細璁ㄤ紣-鍏朵粬鐜╁
+public class GuildBossOtherPlayer : MonoBehaviour
+{
+    [SerializeField] AvatarCell headCell;
+    [SerializeField] Text nameText;
+    [SerializeField] Text hurtValueText;
+    [SerializeField] Image rankImg;
+
+    public void Display()
+    {
+        
+
+    }
+
+
+}
diff --git a/Main/System/Guild/GuildBossOtherPlayer.cs.meta b/Main/System/Guild/GuildBossOtherPlayer.cs.meta
new file mode 100644
index 0000000..1ea5a16
--- /dev/null
+++ b/Main/System/Guild/GuildBossOtherPlayer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1e8d79c1877b2384fa7bcea01b8cc75c
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/System/Guild/GuildBossOtherPlayerAttack.cs b/Main/System/Guild/GuildBossOtherPlayerAttack.cs
new file mode 100644
index 0000000..6cb245e
--- /dev/null
+++ b/Main/System/Guild/GuildBossOtherPlayerAttack.cs
@@ -0,0 +1,23 @@
+锘縰sing System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+//鍏細璁ㄤ紣-鍏朵粬鐜╁ 鏀诲嚮琛ㄧ幇
+public class GuildBossOtherPlayerAttack : MonoBehaviour
+{
+    [SerializeField] Image angerAtkImg;
+    [SerializeField] Text hurtValueText;
+    [SerializeField] Text nameText;
+    [SerializeField] UIEffectPlayer atkEffect;
+    [SerializeField] Transform atkValueRect;
+    [SerializeField] ScaleTween scaleTween;
+    [SerializeField] UIAlphaTween uiAlphaTween;
+
+    public void Display()
+    {
+        scaleTween.SetStartState();
+        uiAlphaTween.SetStartState();
+
+    }
+
+}
diff --git a/Main/System/Guild/GuildBossOtherPlayerAttack.cs.meta b/Main/System/Guild/GuildBossOtherPlayerAttack.cs.meta
new file mode 100644
index 0000000..4ca110c
--- /dev/null
+++ b/Main/System/Guild/GuildBossOtherPlayerAttack.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: cfe4f237c3735af4a9bb2966d9d55364
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/System/Guild/GuildBossWin.cs b/Main/System/Guild/GuildBossWin.cs
new file mode 100644
index 0000000..435e12f
--- /dev/null
+++ b/Main/System/Guild/GuildBossWin.cs
@@ -0,0 +1,170 @@
+using System.Collections;
+using System.Collections.Generic;
+using Cysharp.Threading.Tasks;
+using DG.Tweening;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+/// <summary>
+/// 鍏細鍩虹鐣岄潰
+/// </summary>
+public class GuildBossWin : UIBase
+{
+    [SerializeField] Text endTimeText;
+    [SerializeField] Text fightPowerText;
+    [SerializeField] Transform rankRect;
+    [SerializeField] Text rankText;
+    [SerializeField] Text noRankText;
+    [SerializeField] AvatarCell headCell;
+    [SerializeField] Text nameText;
+    [SerializeField] Text todayHurtText;
+    [SerializeField] Image newHighestHurtImg;
+    //甯冮樀
+    [SerializeField] Text bzAttrText;
+    [SerializeField] UIEffectPlayer bzEffect1;
+    [SerializeField] Text bzLayerText;
+    [SerializeField] UIEffectPlayer bzEffect2;
+    [SerializeField] Button bzBtn;
+    [SerializeField] Text bzTimesText;  //甯冮樀娆℃暟
+    [SerializeField] Button bzRecordBtn;
+
+    //鎬掓皵鏉�
+    [SerializeField] Image processLeft; //棰滆壊浠�00FF0B 鍒� FFE400 鍒� E30400
+    [SerializeField] Image processRight;
+    [SerializeField] Button atkBtn;
+    [SerializeField] Image angerAtk; //鎬掓皵鏀诲嚮
+    [SerializeField] Transform normalAtk; //鏅�氭敾鍑�
+    [SerializeField] UIEffectPlayer atkEffect;  //鏅�氭敾鍑荤壒鏁� 0娆′笉鏄剧ず
+    [SerializeField] Text normalAtkCntText; //鏅�氭敾鍑绘鏁�
+    [SerializeField] Text atkCDText; //鏀诲嚮cd
+    [SerializeField] Transform addTimesRect;
+    [SerializeField] Image addTimesItemImg;
+    [SerializeField] Text addTimesItemText;
+
+    [SerializeField] ButtonEx closeBtn;
+    [SerializeField] ButtonEx scoreBtn;
+    [SerializeField] ButtonEx awardBtn;
+    [SerializeField] Transform awardCntRect;
+    [SerializeField] Text awardCntText;
+    //鏀诲嚮鍖�
+    [SerializeField] UIHeroController bossModel;
+    [SerializeField] UIHeroController heroModel;
+    [SerializeField] Transform attackArea1;
+    [SerializeField] Transform attackArea2;
+    [SerializeField] Transform attackArea3;
+    [SerializeField] GuildBossOtherPlayer otherPlayer;  //鍒涘缓澶氫釜鐢�
+    [SerializeField] GuildBossOtherPlayerAttack otherPlayerAttack;  //鍒涘缓澶氫釜鐢�
+
+
+
+    int beforeLayerNum; //甯冮樀灞傜骇 瀵规瘮鍙樺寲灞曠ず鐗规晥
+    protected override void InitComponent()
+    {
+        closeBtn.AddListener(CloseWindow);
+    }
+
+
+    protected override void OnPreOpen()
+    {
+        GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
+        PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataRefresh;
+        GuildManager.Instance.FamilyActionInfoEvent += OnFamilyActionInfoEvent;
+        Display();
+    }
+
+    protected override void OnPreClose()
+    {
+        GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
+        PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefresh;
+        GuildManager.Instance.FamilyActionInfoEvent -= OnFamilyActionInfoEvent;
+    }
+
+
+    void Display()
+    {
+        endTimeText.text = Language.Get("Arena14", TimeUtility.SecondsToHMS((int)(TimeUtility.GetTodayEndTime() - TimeUtility.ServerNow).TotalSeconds));
+        fightPowerText.text = PlayerDatas.Instance.baseData.FightPower.ToString();
+
+        var bossAction = GuildBossManager.Instance.GetGuildBossAction();
+        ShowBzInfo(bossAction);
+
+    }
+
+    //鎴樺姏鍙樺寲
+    void OnPlayerDataRefresh(PlayerDataType type)
+    {
+        if (type == PlayerDataType.FightPower)
+            fightPowerText.text = PlayerDatas.Instance.baseData.FightPower.ToString();
+    }
+
+    void OnFamilyActionInfoEvent(int familyID, int actionType)
+    {
+        if (actionType == GuildManager.GuildBossActionType)
+        {
+            var bossAction = GuildBossManager.Instance.GetGuildBossAction();
+            if (beforeLayerNum != bossAction.Value3)
+            {
+                bzEffect1.Play();
+                bzEffect2.Play();
+                ShowBzInfo(bossAction);
+            }
+        }
+    }
+
+
+    void ShowBzInfo(HA513_tagMCFamilyActionInfo.tagMCFamilyAction bossAction)
+    {
+        bzAttrText.text = GetAddAttrs(bossAction);
+        bzLayerText.text = $"{bossAction.Value3}/{GuildBossManager.Instance.bzMaxLevel}";
+    }
+
+    //鑾峰彇甯冮樀灞炴��
+    string GetAddAttrs(HA513_tagMCFamilyActionInfo.tagMCFamilyAction action)
+    {
+        var layerNum = action.Value3;
+        var superHitRate = GuildBossManager.Instance.initSuperHitRate + (int)layerNum * GuildBossManager.Instance.bzAddAttrs[0];
+        var addHurtPer = (int)layerNum * GuildBossManager.Instance.bzAddAttrs[1];
+
+        if (addHurtPer == 0)
+        {
+            return Language.Get("GuildBoss18_0", superHitRate / 100);
+        }
+        return Language.Get("GuildBoss18_0", superHitRate / 100) + Language.Get("L1112") + Language.Get("GuildBoss18_1", addHurtPer / 100);
+    }
+
+    void OnSecondEvent()
+    {
+        endTimeText.text = Language.Get("Arena14", TimeUtility.SecondsToHMS((int)(TimeUtility.GetTodayEndTime() - TimeUtility.ServerNow).TotalSeconds));
+    }
+
+    void ShowProcess(float value)
+    {
+        //棰滆壊浠�00FF0B 鍒� FFE400 鍒� E30400
+        processLeft.fillAmount = value;
+        processRight.fillAmount = value;
+
+        Color processColor = GetProcessColor(value);
+        processLeft.color = processColor;
+        processRight.color = processColor;
+    }
+
+    Color GetProcessColor(float value)
+    {
+        // 闄愬埗鍊煎湪0-1鑼冨洿鍐�
+        value = Mathf.Clamp01(value);
+
+        if (value <= 0.5f)
+        {
+            float t = value / 0.5f;
+            return Color.Lerp(new Color(0f, 1f, 0.043f), new Color(1f, 0.894f, 0f), t);
+        }
+        else
+        {
+            float t = (value - 0.5f) / 0.5f;
+            return Color.Lerp(new Color(1f, 0.894f, 0f), new Color(0.89f, 0.016f, 0f), t);
+        }
+    }
+
+
+}
\ No newline at end of file
diff --git a/Main/System/Guild/GuildBossWin.cs.meta b/Main/System/Guild/GuildBossWin.cs.meta
new file mode 100644
index 0000000..9494c48
--- /dev/null
+++ b/Main/System/Guild/GuildBossWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6394d1989d76e214f9bcf558b8829625
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/System/Guild/GuildChangeNameWin.cs b/Main/System/Guild/GuildChangeNameWin.cs
index d07da07..bd52a54 100644
--- a/Main/System/Guild/GuildChangeNameWin.cs
+++ b/Main/System/Guild/GuildChangeNameWin.cs
@@ -45,7 +45,7 @@
 
     void ShowTime()
     {
-        if (GuildManager.Instance.TryGetFamilyActions(0, out var familyActions))
+        if (GuildManager.Instance.TryGetFamilyActions(GuildManager.CustomyActionType, out var familyActions))
         {
             var lastTime = familyActions.IsNullOrEmpty() ? 0 : familyActions[0].Value1;
             var cdTime = GuildManager.Instance.renameFairyNameCD * 3600 - (TimeUtility.AllSeconds - (int)lastTime);
diff --git a/Main/System/Guild/GuildEmblemModel.cs b/Main/System/Guild/GuildEmblemModel.cs
index 4c20f2f..1f830a1 100644
--- a/Main/System/Guild/GuildEmblemModel.cs
+++ b/Main/System/Guild/GuildEmblemModel.cs
@@ -13,7 +13,7 @@
 
 public class GuildEmblemModel : GameSystemManager<GuildEmblemModel>
 {
-    public readonly int FamilyActionsType = 15;     // 鍏細璁板綍寰界珷绫诲瀷15
+    
 
 
     private int m_NowChooseEmblemId;
@@ -273,7 +273,7 @@
     private bool TryGetfamilyAction(int emblemId, out HA513_tagMCFamilyActionInfo.tagMCFamilyAction familyAction)
     {
         familyAction = new HA513_tagMCFamilyActionInfo.tagMCFamilyAction();
-        if (GuildManager.Instance.TryGetFamilyActions(FamilyActionsType, out var actions))
+        if (GuildManager.Instance.TryGetFamilyActions(GuildManager.FamilyActionsType, out var actions))
         {
             for (int i = 0; i < actions.Length; i++)
             {
diff --git a/Main/System/Guild/GuildFuncCell.cs b/Main/System/Guild/GuildFuncCell.cs
new file mode 100644
index 0000000..8688978
--- /dev/null
+++ b/Main/System/Guild/GuildFuncCell.cs
@@ -0,0 +1,51 @@
+锘縰sing UnityEngine;
+using UnityEngine.UI;
+
+public class GuildFuncCell : MonoBehaviour
+{
+    [SerializeField] Image lockImg;
+    [SerializeField] ImageEx titleBG;
+    [SerializeField] Text titleText;
+    [SerializeField] Button funcBtn;
+    public int funcID;
+
+    void Start()
+    { 
+        funcBtn.AddListener(OnClickFunc);
+    }
+
+    void OnEnable()
+    {
+        if (funcID != 0 &&FuncOpen.Instance.IsFuncOpen(funcID))
+        {
+            lockImg.SetActive(false);
+            titleBG.gray = false;
+            //DED4C8
+            titleText.color = new Color32(222, 212, 200, 255);
+        }
+        else
+        {
+            lockImg.SetActive(true);
+            titleBG.gray = true;
+            titleText.color = UIHelper.GetUIColor(TextColType.Gray);
+        }
+        
+    }
+
+    void OnClickFunc()
+    {
+        if (!FuncOpen.Instance.IsFuncOpen(funcID, true))
+        {
+            return;
+        }
+
+        if (funcID == 43)
+        {
+            UIManager.Instance.OpenWindow<GuildBossWin>();
+        }
+
+
+
+    }
+}
+
diff --git a/Main/System/Guild/GuildFuncCell.cs.meta b/Main/System/Guild/GuildFuncCell.cs.meta
new file mode 100644
index 0000000..b9517e2
--- /dev/null
+++ b/Main/System/Guild/GuildFuncCell.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ac5752463d62da54c9f44ee2a86efc30
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/System/Guild/GuildManager.cs b/Main/System/Guild/GuildManager.cs
index 1b5706e..2b72aa0 100644
--- a/Main/System/Guild/GuildManager.cs
+++ b/Main/System/Guild/GuildManager.cs
@@ -10,6 +10,12 @@
 
 public class GuildManager : GameSystemManager<GuildManager>
 {
+    // 瀹舵棌鑷畾涔夎褰曠被鍨�
+    public const int CustomyActionType = 0;     //閫氱敤
+    public const int FamilyActionsType = 15;     // 鍏細璁板綍寰界珷绫诲瀷15
+    public const int ZBGFamilyActionType = 16;  // 鐝嶅疂闃佽褰曠被鍨�
+    public const int GuildBossActionType = 18;  //璁ㄤ紣
+
     // 鐢宠鐨勫叕浼氬垪琛�
     private List<int> m_FairyRequesteds = new List<int>();
     // 鍏細鑷畾涔夎褰曢檮鍔犳暟鎹紝鎸夌被鍨嬪瓨鍌�
@@ -147,7 +153,7 @@
     public event Action UpdateZhenbaogeEvent;
     public bool isQueryZBGYet = false;
     public float lastZBGStartTime = 0; //杩囧ぉ鍒锋柊鐢�
-    public const int ZBGFamilyActionType = 16;
+    
     //{id:鏁版嵁} 鐮嶄环琛屼负锛寁alue1涓虹帺瀹禝D锛岀壒娈婄害瀹氫负1鏃朵负瀹舵棌鐨勬暟鎹�
     public Dictionary<int, HA513_tagMCFamilyActionInfo.tagMCFamilyAction> familyZBGActions = new Dictionary<int, HA513_tagMCFamilyActionInfo.tagMCFamilyAction>();
     public List<int> sortPlayerCut = new List<int>();
diff --git a/Main/System/InternalAffairs/AffairFuncCell.cs b/Main/System/InternalAffairs/AffairFuncCell.cs
index d23f007..31387b3 100644
--- a/Main/System/InternalAffairs/AffairFuncCell.cs
+++ b/Main/System/InternalAffairs/AffairFuncCell.cs
@@ -43,15 +43,11 @@
         {
             UIManager.Instance.OpenWindow<GoldRushWorkerWin>();
         }
-
-        if (funcID == 42)
+        else if (funcID == 42)
         {
             UIManager.Instance.OpenWindow<PhantasmPavilionWin>();
         }
-        // else if (funcID == 214)
-        // { 
-        //     GoldRushManager.Instance.NotifyGoldRushEvent(0, 0, 2);
-        // }
+
 
     }
 }

--
Gitblit v1.8.0