From d974ea6dcb457cc09baeae1e4ada77a14e1b5265 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期四, 27 九月 2018 17:49:54 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 Core/NetworkPackage/ServerPack/HA3_Function/HA324_tagMCBindJadeWheelResult.cs.meta                  |   12 +
 System/Dogz/DogzActiveWin.cs                                                                        |   16 +
 Core/NetworkPackage/ServerPack/HA3_Function/HA324_tagMCBindJadeWheelResult.cs                       |   19 ++
 Utility/EnumHelper.cs                                                                               |    1 
 Core/GameEngine/Model/Config/VipPrivilegeConfig.cs                                                  |   98 +++++-----
 System/Strengthening/GodBeastModel.cs                                                               |    2 
 Fight/BossFakeLineUtility.cs                                                                        |   25 ++
 Core/GameEngine/Model/Config/VipPrivilegeConfig.cs.meta                                             |    4 
 System/FindPrecious/FindPreciousModel.cs                                                            |   48 ++--
 Core/GameEngine/Model/TelPartialConfig/BossInfoConfig.cs                                            |   11 +
 Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA324_tagMCBindJadeWheelResult.cs             |   19 ++
 Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA324_tagMCBindJadeWheelResult.cs.meta        |   12 +
 System/Vip/VipInvest/RotatePointer.cs                                                               |    6 
 System/Vip/VipInvest/WheelOfFortuneModel.cs.meta                                                    |   12 +
 Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA517_tagCMStartBindJadeWheel.cs      |   16 +
 System/Dogz/DogzModel.cs                                                                            |   34 +++
 System/WindowBase/ModelCenter.cs                                                                    |    1 
 Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA517_tagCMStartBindJadeWheel.cs.meta |   12 +
 System/Vip/VipInvest/WheelOfFortuneModel.cs                                                         |   99 +++++++++++
 System/Vip/VipInvest/WheelOfFortuneWin.cs                                                           |   40 +++
 20 files changed, 388 insertions(+), 99 deletions(-)

diff --git a/Core/GameEngine/Model/Config/VipPrivilegeConfig.cs b/Core/GameEngine/Model/Config/VipPrivilegeConfig.cs
index 4cd8bab..379fd9f 100644
--- a/Core/GameEngine/Model/Config/VipPrivilegeConfig.cs
+++ b/Core/GameEngine/Model/Config/VipPrivilegeConfig.cs
@@ -1,6 +1,6 @@
 锘�//--------------------------------------------------------
 //    [Author]:			绗簩涓栫晫
-//    [  Date ]:		   Saturday, January 06, 2018
+//    [  Date ]:		   Thursday, September 27, 2018
 //--------------------------------------------------------
 
 using UnityEngine;
@@ -11,22 +11,22 @@
     
 	public partial class VipPrivilegeConfig : ConfigBase {
 
-		public int VIPPrivilege { get ; private set ; }
-		public int VIP0 { get ; private set ; }
-		public int VIP1 { get ; private set ; }
-		public int VIP2 { get ; private set ; }
-		public int VIP3 { get ; private set ; }
-		public int VIP4 { get ; private set ; }
-		public int VIP5 { get ; private set ; }
-		public int VIP6 { get ; private set ; }
-		public int VIP7 { get ; private set ; }
-		public int VIP8 { get ; private set ; }
-		public int VIP9 { get ; private set ; }
-		public int VIP10 { get ; private set ; }
-		public int VIP11 { get ; private set ; }
-		public int VIP12 { get ; private set ; }
-		public int VIP13 { get ; private set ; }
-		public int VIP14 { get ; private set ; }
+		public int VIPPrivilege { get ; private set ; }
+		public int VIP0 { get ; private set ; }
+		public int VIP1 { get ; private set ; }
+		public int VIP2 { get ; private set ; }
+		public int VIP3 { get ; private set ; }
+		public int VIP4 { get ; private set ; }
+		public int VIP5 { get ; private set ; }
+		public int VIP6 { get ; private set ; }
+		public int VIP7 { get ; private set ; }
+		public int VIP8 { get ; private set ; }
+		public int VIP9 { get ; private set ; }
+		public int VIP10 { get ; private set ; }
+		public int VIP11 { get ; private set ; }
+		public int VIP12 { get ; private set ; }
+		public int VIP13 { get ; private set ; }
+		public int VIP14 { get ; private set ; }
 		public int VIP15 { get ; private set ; }
 
 		public override string getKey()
@@ -37,38 +37,38 @@
 		public override void Parse() {
 			try
             {
-                VIPPrivilege=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; 
-			
-				VIP0=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; 
-			
-				VIP1=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; 
-			
-				VIP2=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0; 
-			
-				VIP3=IsNumeric(rawContents[4]) ? int.Parse(rawContents[4]):0; 
-			
-				VIP4=IsNumeric(rawContents[5]) ? int.Parse(rawContents[5]):0; 
-			
-				VIP5=IsNumeric(rawContents[6]) ? int.Parse(rawContents[6]):0; 
-			
-				VIP6=IsNumeric(rawContents[7]) ? int.Parse(rawContents[7]):0; 
-			
-				VIP7=IsNumeric(rawContents[8]) ? int.Parse(rawContents[8]):0; 
-			
-				VIP8=IsNumeric(rawContents[9]) ? int.Parse(rawContents[9]):0; 
-			
-				VIP9=IsNumeric(rawContents[10]) ? int.Parse(rawContents[10]):0; 
-			
-				VIP10=IsNumeric(rawContents[11]) ? int.Parse(rawContents[11]):0; 
-			
-				VIP11=IsNumeric(rawContents[12]) ? int.Parse(rawContents[12]):0; 
-			
-				VIP12=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0; 
-			
-				VIP13=IsNumeric(rawContents[14]) ? int.Parse(rawContents[14]):0; 
-			
-				VIP14=IsNumeric(rawContents[15]) ? int.Parse(rawContents[15]):0; 
-			
+                VIPPrivilege=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; 
+			
+				VIP0=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; 
+			
+				VIP1=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; 
+			
+				VIP2=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0; 
+			
+				VIP3=IsNumeric(rawContents[4]) ? int.Parse(rawContents[4]):0; 
+			
+				VIP4=IsNumeric(rawContents[5]) ? int.Parse(rawContents[5]):0; 
+			
+				VIP5=IsNumeric(rawContents[6]) ? int.Parse(rawContents[6]):0; 
+			
+				VIP6=IsNumeric(rawContents[7]) ? int.Parse(rawContents[7]):0; 
+			
+				VIP7=IsNumeric(rawContents[8]) ? int.Parse(rawContents[8]):0; 
+			
+				VIP8=IsNumeric(rawContents[9]) ? int.Parse(rawContents[9]):0; 
+			
+				VIP9=IsNumeric(rawContents[10]) ? int.Parse(rawContents[10]):0; 
+			
+				VIP10=IsNumeric(rawContents[11]) ? int.Parse(rawContents[11]):0; 
+			
+				VIP11=IsNumeric(rawContents[12]) ? int.Parse(rawContents[12]):0; 
+			
+				VIP12=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0; 
+			
+				VIP13=IsNumeric(rawContents[14]) ? int.Parse(rawContents[14]):0; 
+			
+				VIP14=IsNumeric(rawContents[15]) ? int.Parse(rawContents[15]):0; 
+			
 				VIP15=IsNumeric(rawContents[16]) ? int.Parse(rawContents[16]):0; 
             }
             catch (Exception ex)
diff --git a/Core/GameEngine/Model/Config/VipPrivilegeConfig.cs.meta b/Core/GameEngine/Model/Config/VipPrivilegeConfig.cs.meta
index 05983a1..91179c4 100644
--- a/Core/GameEngine/Model/Config/VipPrivilegeConfig.cs.meta
+++ b/Core/GameEngine/Model/Config/VipPrivilegeConfig.cs.meta
@@ -1,7 +1,7 @@
 fileFormatVersion: 2
 guid: fe03774548a971a4186f518d32a9833c
-timeCreated: 1515213454
-licenseType: Pro
+timeCreated: 1538035356
+licenseType: Free
 MonoImporter:
   serializedVersion: 2
   defaultReferences: []
diff --git a/Core/GameEngine/Model/TelPartialConfig/BossInfoConfig.cs b/Core/GameEngine/Model/TelPartialConfig/BossInfoConfig.cs
index 12bd4e8..ad6dcf5 100644
--- a/Core/GameEngine/Model/TelPartialConfig/BossInfoConfig.cs
+++ b/Core/GameEngine/Model/TelPartialConfig/BossInfoConfig.cs
@@ -13,12 +13,18 @@
     public partial class BossInfoConfig : ConfigBase, IConfigPostProcess
     {
         private static Dictionary<int, BossInfoConfig> bossInfoDict = new Dictionary<int, BossInfoConfig>();
+        private static List<int> stoneIds = new List<int>();
 
         public void OnConfigParseCompleted()
         {
             if (!bossInfoDict.ContainsKey(StoneNPCID))
             {
                 bossInfoDict.Add(StoneNPCID, this);
+            }
+
+            if (!stoneIds.Contains(StoneNPCID))
+            {
+                stoneIds.Add(StoneNPCID);
             }
         }
 
@@ -31,6 +37,11 @@
             return null;
         }
 
+        public static bool IsStone(int npcId)
+        {
+            return stoneIds.Contains(npcId);
+        }
+
     }
 
 }
diff --git a/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA517_tagCMStartBindJadeWheel.cs b/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA517_tagCMStartBindJadeWheel.cs
new file mode 100644
index 0000000..0a764bd
--- /dev/null
+++ b/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA517_tagCMStartBindJadeWheel.cs
@@ -0,0 +1,16 @@
+using UnityEngine;
+using System.Collections;
+
+// A5 17 绑玉转盘开始 #tagCMStartBindJadeWheel

+

+public class CA517_tagCMStartBindJadeWheel : GameNetPackBasic {

+

+    public CA517_tagCMStartBindJadeWheel () {

+        combineCmd = (ushort)0x03FE;

+        _cmd = (ushort)0xA517;

+    }

+

+    public override void WriteToBytes () {

+    }

+

+}

diff --git a/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA517_tagCMStartBindJadeWheel.cs.meta b/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA517_tagCMStartBindJadeWheel.cs.meta
new file mode 100644
index 0000000..e2ebd6d
--- /dev/null
+++ b/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA517_tagCMStartBindJadeWheel.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7c268dd5f343f6c49b4c2621de591e6f
+timeCreated: 1538032691
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA324_tagMCBindJadeWheelResult.cs b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA324_tagMCBindJadeWheelResult.cs
new file mode 100644
index 0000000..29d77a7
--- /dev/null
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA324_tagMCBindJadeWheelResult.cs
@@ -0,0 +1,19 @@
+using UnityEngine;
+using System.Collections;
+using Snxxz.UI;
+
+// A3 24 通知绑玉转盘结果 #tagMCBindJadeWheelResult
+
+
+
+public class DTCA324_tagMCBindJadeWheelResult : DtcBasic {
+
+    WheelOfFortuneModel wheelOfFortuneModel { get { return ModelCenter.Instance.GetModel<WheelOfFortuneModel>(); } }
+    public override void Done(GameNetPackBasic vNetPack) {

+        base.Done(vNetPack);

+        HA324_tagMCBindJadeWheelResult vNetData = vNetPack as HA324_tagMCBindJadeWheelResult;
        if (vNetData == null)
+        {
+            return;
+        }
        wheelOfFortuneModel.BindJadeWheelResult(vNetData);
+    }

+}

diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA324_tagMCBindJadeWheelResult.cs.meta b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA324_tagMCBindJadeWheelResult.cs.meta
new file mode 100644
index 0000000..69f9927
--- /dev/null
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA324_tagMCBindJadeWheelResult.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a0cbd69e7afc2474c8fd98b86348e72f
+timeCreated: 1538032691
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Core/NetworkPackage/ServerPack/HA3_Function/HA324_tagMCBindJadeWheelResult.cs b/Core/NetworkPackage/ServerPack/HA3_Function/HA324_tagMCBindJadeWheelResult.cs
new file mode 100644
index 0000000..10aed60
--- /dev/null
+++ b/Core/NetworkPackage/ServerPack/HA3_Function/HA324_tagMCBindJadeWheelResult.cs
@@ -0,0 +1,19 @@
+using UnityEngine;
+using System.Collections;
+
+// A3 24 通知绑玉转盘结果 #tagMCBindJadeWheelResult

+

+public class HA324_tagMCBindJadeWheelResult : GameNetPackBasic {

+    public byte Index;    // 格子

+    public byte Cnt;    //今日已转次数

+

+    public HA324_tagMCBindJadeWheelResult () {

+        _cmd = (ushort)0xA324;

+    }

+

+    public override void ReadFromBytes (byte[] vBytes) {

+        TransBytes (out Index, vBytes, NetDataType.BYTE);

+        TransBytes (out Cnt, vBytes, NetDataType.BYTE);

+    }

+

+}

diff --git a/Core/NetworkPackage/ServerPack/HA3_Function/HA324_tagMCBindJadeWheelResult.cs.meta b/Core/NetworkPackage/ServerPack/HA3_Function/HA324_tagMCBindJadeWheelResult.cs.meta
new file mode 100644
index 0000000..b76a0d4
--- /dev/null
+++ b/Core/NetworkPackage/ServerPack/HA3_Function/HA324_tagMCBindJadeWheelResult.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: d6ba1d40695294e48abc2835e49bc818
+timeCreated: 1538032691
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Fight/BossFakeLineUtility.cs b/Fight/BossFakeLineUtility.cs
index 10597e3..83d8319 100644
--- a/Fight/BossFakeLineUtility.cs
+++ b/Fight/BossFakeLineUtility.cs
@@ -68,6 +68,31 @@
         }
     }
 
+
+    public bool HasSawLineStoneRecently(int bossId, int lineId)
+    {
+        var config = Config.Instance.Get<BossInfoConfig>(bossId);
+        if (config == null)
+        {
+            return false;
+        }
+
+        var stoneId = config.StoneNPCID;
+
+        //琛ュ厖鍏蜂綋閫昏緫
+
+        return false;
+    }
+
+    public bool HasSawLineBossRecently(int bossId, int lineId)
+    {
+        var isMistakeBoss = lastBossNpcID == bossId && Time.realtimeSinceStartup < inMistakeForBossAliveOverTime;
+
+        //琛ュ厖鍏蜂綋閫昏緫
+
+        return false;
+    }
+
     FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
     Dictionary<int, DateTime> bossKillTimes = new Dictionary<int, DateTime>();
 
diff --git a/System/Dogz/DogzActiveWin.cs b/System/Dogz/DogzActiveWin.cs
index 23f6159..6f0f9aa 100644
--- a/System/Dogz/DogzActiveWin.cs
+++ b/System/Dogz/DogzActiveWin.cs
@@ -281,7 +281,7 @@
         private void UpdateDogzAssistCnt()
         {
             m_Controller.m_Scorller.RefreshActiveCellViews();
-            m_DogzAssistCnt.text = Language.Get("TreasurePrivilege_Dogz_1", StringUtility.Contact(model.GetAssistDogzCount(), "/", model.DogzAssistDefaultCnt));
+            m_DogzAssistCnt.text = Language.Get("TreasurePrivilege_Dogz_1", StringUtility.Contact(model.GetAssistDogzCount(), "/", model.curSumAssistNum));
             UpdateDogzBtn();
             UpdateDogzProperty();
             UpdateDogzEquip();
@@ -296,11 +296,21 @@
 
         private void AddAssist()
         {
+            if(model.IsAddMaxAssist())
+            {
+                SysNotifyMgr.Instance.ShowTip("DogzNumLimit");
+                return;
+            }
+
             var _itemConfig = Config.Instance.Get<ItemConfig>(model.AddAssistItem);
             ConfirmCancel.ShowItemConfirm(Language.Get("DogzFunc102", _itemConfig.ItemName, model.GetAssistItemCnt()),
-                model.AddAssistItem, model.GetAssistItemCnt(), () =>
+             model.AddAssistItem, model.GetAssistItemCnt(), () =>
             {
                 model.SendBuyAssistCnt();
+                if (model.curSumAssistNum + 1 >= model.DogzAssistMaxCnt)
+                {
+                    SysNotifyMgr.Instance.ShowTip("DogzNumLimit");
+                }
             });
         }
         private void TakeOffEquip()
@@ -319,7 +329,7 @@
             {
                 if(!model.TryGetAssistDogzState(model.presentSelectDogz))
                 {
-                    if(model.GetAssistDogzCount() < model.DogzAssistDefaultCnt)
+                    if(model.GetAssistDogzCount() < model.curSumAssistNum)
                     {
                         assistEffect.Play();
                         assistTextEffect.Play();
diff --git a/System/Dogz/DogzModel.cs b/System/Dogz/DogzModel.cs
index c560c2e..450a830 100644
--- a/System/Dogz/DogzModel.cs
+++ b/System/Dogz/DogzModel.cs
@@ -19,6 +19,7 @@
 
         public void OnBeforePlayerDataInitialize()
         {
+            curSumAssistNum = DogzAssistDefaultCnt;
             addAssistCnt = 0;
             SelectDogzItemQuality = 0;
             SelectDogzItemStart = 0;
@@ -51,7 +52,7 @@
 
         #region 閰嶇疆
         private Dictionary<int, Dictionary<int, int>> m_DogzEquipLimit = new Dictionary<int, Dictionary<int, int>>(); //瑁呭浣� 鍝佽川闄愬埗
-        public int DogzAssistDefaultCnt { get; private set; }  //鍔╂垬绁炲吔鎬绘暟
+        public int DogzAssistDefaultCnt { get; private set; }  //鍔╂垬绁炲吔榛樿鏁伴噺
         public int DogzAssistMaxCnt { get; private set; }//鍔╂垬绁炲吔鏈�澶ф暟
         public int AddAssistItem { get; private set; } //澧炲姞鍔╂垬绁炲吔鎬绘暟鐨勭墿鍝両d
         public int DogzPackGridCnt { get; private set; } //绁炲吔鐗╁搧鑳屽寘鏍煎瓙鏁�
@@ -217,7 +218,27 @@
 
         public int GetAssistItemCnt()
         {
-            return AddAssistItemCnt[addAssistCnt];
+            if(!IsAddMaxAssist())
+            {
+                return AddAssistItemCnt[addAssistCnt];
+            }
+            else
+            {
+
+                return AddAssistItemCnt[AddAssistItemCnt.Length - 1];
+            }
+        }
+
+        public bool IsAddMaxAssist()
+        {
+            if (curSumAssistNum < DogzAssistMaxCnt)
+            {
+                return false;
+            }
+            else
+            {
+                return true;
+            }
         }
 
         public int presentSelectDogz { get; set; } //褰撳墠閫変腑鐨勭鍏絠d
@@ -253,10 +274,11 @@
         #region 鍗忚
 
         public int addAssistCnt { get; private set; } //棰濆璐拱鐨勫姪鎴樻暟
+        public int curSumAssistNum { get; private set; } //褰撳墠鍙互鍔╂垬鐨勭鍏芥暟閲�
         public void SetServerAddAssistDogzCnt(HA3C0_tagMCDogzInfo info)
         {
             addAssistCnt = info.BuyHelpbattleCount;
-            DogzAssistDefaultCnt += addAssistCnt;
+            curSumAssistNum = DogzAssistDefaultCnt + addAssistCnt;
             if (UpdateAssistDogzEvent != null)
             {
                 UpdateAssistDogzEvent();
@@ -788,7 +810,7 @@
             {
                 value.state = RedPointState.None;
             }
-            bool isMaxAssistNum = GetAssistDogzCount() >= DogzAssistDefaultCnt ? true : false;
+            bool isMaxAssistNum = GetAssistDogzCount() >= curSumAssistNum ? true : false;
             int minAlreadyAssistId = 0;
             foreach (var dogzId in m_DogzEquipLimit.Keys)
             {
@@ -859,7 +881,7 @@
                     return;
                 }
             }
-            bool isMaxAssistNum = GetAssistDogzCount() >= DogzAssistDefaultCnt ? true : false;
+            bool isMaxAssistNum = GetAssistDogzCount() >= curSumAssistNum ? true : false;
             if (!isMaxAssistNum)
             {
                 int maxEquipNum = 0;
@@ -974,7 +996,7 @@
 
         public void UpdateAssistNumRed()
         {
-          if(CheckIsAddAssistNum())
+          if(CheckIsAddAssistNum() && !IsAddMaxAssist())
            {
                 if(addAssistDogzRedpoint.state == RedPointState.None)
                 {
diff --git a/System/FindPrecious/FindPreciousModel.cs b/System/FindPrecious/FindPreciousModel.cs
index af799b0..ffd808d 100644
--- a/System/FindPrecious/FindPreciousModel.cs
+++ b/System/FindPrecious/FindPreciousModel.cs
@@ -44,9 +44,9 @@
         Dictionary<int, BossSubscribe> bossSubscribes = new Dictionary<int, BossSubscribe>();
         bool serverInited = false;
 
+        public event Action<int> bossInfoUpdateEvent;
         public event Action<int> bossSubscribeChangeEvent;
         public event Action preciousDropRecordUpdateEvent;
-        public event Action<int> bossInfoUpdateEvent;
         public event Action bossRebornNotifyChangeEvent;
 
         DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
@@ -541,40 +541,37 @@
                     {
                         return false;
                     }
+                    else if (BossFakeLineUtility.Instance.HasSawLineBossRecently(bossId, PlayerDatas.Instance.baseData.FBID))
+                    {
+                        return true;
+                    }
+                    else if (BossFakeLineUtility.Instance.HasSawLineStoneRecently(bossId, PlayerDatas.Instance.baseData.FBID))
+                    {
+                        return false;
+                    }
                     else
                     {
-                        var isMistakeBoss = BossFakeLineUtility.Instance.lastBossNpcID == bossId
-                            && Time.realtimeSinceStartup < BossFakeLineUtility.Instance.inMistakeForBossAliveOverTime;
-                        var isLineBossAlive = IsLineBossAlive(PlayerDatas.Instance.baseData.FBID);
-
-                        if (isMistakeBoss && isLineBossAlive)
+                        var currentNeutralMap = false;
+                        if (Config.Instance.ContainKey<WorldBossConfig>(bossId))
                         {
-                            return true;
+                            var worldBossConfig = Config.Instance.Get<WorldBossConfig>(bossId);
+                            currentNeutralMap = worldBossConfig.MapID == PlayerDatas.Instance.baseData.MapID;
+                            currentNeutralMap = currentNeutralMap && GeneralConfig.Instance.neutralMaps.Contains(worldBossConfig.MapID);
+                        }
+
+                        if (currentNeutralMap)
+                        {
+                            return IsLineBossAlive(PlayerDatas.Instance.baseData.FBID);
                         }
                         else
                         {
-                            var currentNeutralMap = false;
-                            if (Config.Instance.ContainKey<WorldBossConfig>(bossId))
+                            if (BossFakeLineUtility.Instance.IsBossKilledRecently(bossId))
                             {
-                                var worldBossConfig = Config.Instance.Get<WorldBossConfig>(bossId);
-                                currentNeutralMap = worldBossConfig.MapID == PlayerDatas.Instance.baseData.MapID;
-                                currentNeutralMap = currentNeutralMap && GeneralConfig.Instance.neutralMaps.Contains(worldBossConfig.MapID);
-                            }
-
-                            if (currentNeutralMap)
-                            {
-                                return isLineBossAlive;
+                                return !IsAnyLineBossDead();
                             }
                             else
                             {
-                                if (BossFakeLineUtility.Instance.IsBossKilledRecently(bossId))
-                                {
-                                    return !IsAnyLineBossDead();
-                                }
-                                else
-                                {
-                                    return IsAnyLineBossAlive();
-                                }
+                                return IsAnyLineBossAlive();
                             }
                         }
                     }
@@ -710,7 +707,6 @@
                     }
                 }
             }
-
 
             public static int Compare2(DropRecord _lhs, DropRecord _rhs)
             {
diff --git a/System/Strengthening/GodBeastModel.cs b/System/Strengthening/GodBeastModel.cs
index a7acac6..13bb810 100644
--- a/System/Strengthening/GodBeastModel.cs
+++ b/System/Strengthening/GodBeastModel.cs
@@ -282,7 +282,7 @@
                             _ItemColor = itemModelBack.chinItemModel.ItemColor;
                         }
                     }
-                    if (Type >= dogz_model.DogzAssistDefaultCnt && ItemColor> _ItemColor)//鍑烘垬绁炲吔宸叉弧锛屼笖绁炲吔鑳屽寘鏈夊搧璐ㄤ綆浜庡凡鍔╂垬绁炲吔鍝佽川棰滆壊鏃�
+                    if (Type >= dogz_model.curSumAssistNum && ItemColor> _ItemColor)//鍑烘垬绁炲吔宸叉弧锛屼笖绁炲吔鑳屽寘鏈夊搧璐ㄤ綆浜庡凡鍔╂垬绁炲吔鍝佽川棰滆壊鏃�
                     {
                         redPointStre1.state = RedPointState.Simple;
                         return;
diff --git a/System/Vip/VipInvest/RotatePointer.cs b/System/Vip/VipInvest/RotatePointer.cs
index a29f6ea..2f1158c 100644
--- a/System/Vip/VipInvest/RotatePointer.cs
+++ b/System/Vip/VipInvest/RotatePointer.cs
@@ -91,11 +91,7 @@
             IsRotateBool = true;
             _isRotate = true;
         }
-        //澶栭儴璋冪敤锛岃缃仠姝㈣搴�
-        public void SetAngle(float angle)
-        {
-            Angle = angle;
-        }
+        //澶栭儴璋冪敤锛岃缃仠姝㈣搴�
     }
 
 }
diff --git a/System/Vip/VipInvest/WheelOfFortuneModel.cs b/System/Vip/VipInvest/WheelOfFortuneModel.cs
new file mode 100644
index 0000000..ee5d1b0
--- /dev/null
+++ b/System/Vip/VipInvest/WheelOfFortuneModel.cs
@@ -0,0 +1,99 @@
+锘�//--------------------------------------------------------
+//    [Author]:           绗簩涓栫晫
+//    [  Date ]:           Thursday, September 27, 2018
+//--------------------------------------------------------
+
+using LitJson;
+using System;
+using System.Collections.Generic;
+using TableConfig;
+using UnityEngine;
+
+namespace Snxxz.UI
+{
+
+    public class WheelOfFortuneModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
+    {
+        public class AngleClass
+        {
+            public float AngleStart;
+            public float AngleEnd;
+        }
+
+        public int Lattice = -1;//鏍煎瓙
+        public int Number = 0;//娆℃暟
+        public int NeedJade = 0;//闇�瑕佷粰鐜�
+        public float AngleSave = 0f;//瑙掑害璁板綍
+        public Dictionary<int, AngleClass> AngleDic = new Dictionary<int, AngleClass>();
+        private  int[][] AngleList;
+        public event Action<float> WheelOfFortuneUpdate;
+
+        private string StrKey = string.Empty;
+        private bool IsOk = false;
+        public override void Init()
+        {
+            var BindJadewheel = Config.Instance.Get<FuncConfigConfig>("BindJadeWheelCfg");
+            NeedJade = int.Parse(BindJadewheel.Numerical1);
+            AngleList = JsonMapper.ToObject<int[][]>(BindJadewheel.Numerical5);
+            for (int i = 0; i < AngleList.Length; i++)
+            {
+                if (AngleDic.Count <= 0)
+                {
+                    int Type = i + 1;
+                    AngleClass angleClass = new AngleClass();
+                    angleClass.AngleStart = AngleList[i][0];
+                    angleClass.AngleEnd = AngleList[i][1];
+                    AngleDic.Add(Type, angleClass);
+                }
+            }
+        }
+
+        public override void UnInit()
+        {
+
+        }
+
+        public void OnBeforePlayerDataInitialize()
+        {
+            IsOk = false;
+          
+        }
+
+        public void OnPlayerLoginOk()
+        {
+            IsOk = true;
+            StrKey = "IsOpenFiaryJadeRedPoint" + PlayerDatas.Instance.baseData.PlayerID;
+            AngleSave = LocalSave.GetFloat(StrKey);
+        }
+
+        public void BindJadeWheelResult(HA324_tagMCBindJadeWheelResult Info)
+        {
+            Lattice = Info.Index;
+            Number = Info.Cnt;
+            if (IsOk)
+            {
+                if (AngleDic.ContainsKey(Lattice))
+                {
+
+                    float flo = UnityEngine.Random.Range(AngleDic[Lattice].AngleStart + 0.05f, AngleDic[Lattice].AngleEnd - 0.05f);
+                    LocalSave.SetFloat(StrKey, flo);
+                    AngleSave = LocalSave.GetFloat(StrKey);
+                }
+                if (WheelOfFortuneUpdate != null)
+                {
+                    WheelOfFortuneUpdate(AngleSave);
+                }
+            }
+           
+        }
+        public void StartTheDraw()//寮�濮嬫娊濂�
+        {
+            CA517_tagCMStartBindJadeWheel _tagC517 = new CA517_tagCMStartBindJadeWheel();
+            GameNetSystem.Instance.SendInfo(_tagC517);
+        }
+    }
+
+}
+
+
+
diff --git a/System/Vip/VipInvest/WheelOfFortuneModel.cs.meta b/System/Vip/VipInvest/WheelOfFortuneModel.cs.meta
new file mode 100644
index 0000000..7d5d105
--- /dev/null
+++ b/System/Vip/VipInvest/WheelOfFortuneModel.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7a605a41a6e674a43b7394d602e4c929
+timeCreated: 1538032790
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/Vip/VipInvest/WheelOfFortuneWin.cs b/System/Vip/VipInvest/WheelOfFortuneWin.cs
index e20b00b..5aaf6e1 100644
--- a/System/Vip/VipInvest/WheelOfFortuneWin.cs
+++ b/System/Vip/VipInvest/WheelOfFortuneWin.cs
@@ -16,7 +16,11 @@
         [SerializeField] Button m_LotteryBtn;
         [SerializeField] RotatePointer m_RotatePointer;
         [SerializeField] Toggle m_Toggle;
-        [SerializeField] Button m_CloseBtn;
+        [SerializeField] Button m_CloseBtn;
+        VipModel m_Vipmodel;
+        VipModel vipmodel { get { return m_Vipmodel ?? (m_Vipmodel = ModelCenter.Instance.GetModel<VipModel>()); } }
+        WheelOfFortuneModel wheelOfFortuneModel { get { return ModelCenter.Instance.GetModel<WheelOfFortuneModel>(); } }
+        private int remainingTimes = 0;//鍓╀綑娆℃暟
         #region Built-in
         protected override void BindController()
         {
@@ -30,23 +34,32 @@
         }
 
         protected override void OnPreOpen()
-        {
+        {
+            IsLottery();//鍒ゆ柇鏄惁鎷ユ湁娆℃暟
         }
 
         protected override void OnAfterOpen()
         {
+            wheelOfFortuneModel.WheelOfFortuneUpdate += WheelOfFortuneUpdate;
         }
 
         protected override void OnPreClose()
-        {
-        }
-
+        {
+            wheelOfFortuneModel.WheelOfFortuneUpdate -= WheelOfFortuneUpdate;
+        }
+
+        private void WheelOfFortuneUpdate(float Angel)
+        {
+            IsLottery();
+        }
+
         protected override void OnAfterClose()
         {
         }
 
         private void OnClickButton()
         {
+            wheelOfFortuneModel.StartTheDraw();//寮�濮嬫娊濂�
             m_RotatePointer.SetTime();
         }
         private void OnClickToggle(bool _bool)
@@ -54,7 +67,6 @@
             if (_bool)
             {
                 m_RotatePointer._isRotate = false;
-                m_RotatePointer.SetAngle(m_RotatePointer.Angle);
             }
             else
             {
@@ -62,8 +74,22 @@
             }
 
         }
+
+        private void IsLottery()
+        {
+            int LotteryNumber = vipmodel.GetVipPrivilegeCnt(VipPrivilegeType.BindJadeWheel);
+            if (LotteryNumber > wheelOfFortuneModel.Number)
+            {
+                remainingTimes = LotteryNumber - wheelOfFortuneModel.Number;
+                m_LotteryBtn.interactable = true;
+            }
+            else
+            {
+                m_LotteryBtn.interactable = false;
+            }
+        }
         #endregion
-   
+
     }
 
 }
diff --git a/System/WindowBase/ModelCenter.cs b/System/WindowBase/ModelCenter.cs
index e555f65..865aa34 100644
--- a/System/WindowBase/ModelCenter.cs
+++ b/System/WindowBase/ModelCenter.cs
@@ -195,6 +195,7 @@
             RegisterModel<PrayForDurgModel>();
             RegisterModel<FeatureNoticeModel>();
             RegisterModel<AwardExchangeModel>();
+            RegisterModel<WheelOfFortuneModel>();
             inited = true;
         }
 
diff --git a/Utility/EnumHelper.cs b/Utility/EnumHelper.cs
index 9b1004a..d799c22 100644
--- a/Utility/EnumHelper.cs
+++ b/Utility/EnumHelper.cs
@@ -1105,6 +1105,7 @@
     DemonJar = 25,
     BossHomeAwardLimit = 27,
     DemonJarDouble = 28,
+    BindJadeWheel=30,
 }
 
 

--
Gitblit v1.8.0