From ffaf91d2d4a309b43b908e105f67ff81f48b878c Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期三, 22 八月 2018 16:16:52 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/HappyXB/HappyXBModel.cs |   48 +++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 43 insertions(+), 5 deletions(-)

diff --git a/System/HappyXB/HappyXBModel.cs b/System/HappyXB/HappyXBModel.cs
index f194f83..194da3b 100644
--- a/System/HappyXB/HappyXBModel.cs
+++ b/System/HappyXB/HappyXBModel.cs
@@ -584,13 +584,15 @@
             return false;
         }
 
-        public bool IsHaveManyXBTool(int type, out int toolCnt)
+        public bool IsHaveManyXBTool(int type, out int toolCnt,out int needToolCnt)
         {
             toolCnt = 0;
+            needToolCnt = 0;
             XBFuncSet funcSet = GetXBFuncSet(type);
             if (funcSet == null) return false;
 
             toolCnt = playerPack.GetItemCountByID(PackType.rptItem, funcSet.costToolIds[1]);
+            needToolCnt = funcSet.costToolNums[1];
             if (toolCnt > 0)
             {
                 return true;
@@ -685,6 +687,10 @@
         public const int RuneXB_RedKey = 20302;
         public const int XBStore_RedKey = 20303;
         public const int XBWarehouse_RedKey = 20304;
+        public const int BestXB_OneRedKey = 20301001;
+        public const int BestXB_ManyRedKey = 20301002;
+        public const int RuneXB_OneRedKey = 20302001;
+        public const int RuneXB_ManyRedKey = 20302002;
 
         public Redpoint mainTopRed = new Redpoint(MainTop_RedKey);
         public Redpoint happyXBRed = new Redpoint(MainTop_RedKey, HappyXB_RedKey);
@@ -692,6 +698,10 @@
         public Redpoint runeXBRed = new Redpoint(HappyXB_RedKey, RuneXB_RedKey);
         public Redpoint xbStoreRed = new Redpoint(HappyXB_RedKey,XBStore_RedKey);
         public Redpoint xbWarehouseRed = new Redpoint(HappyXB_RedKey,XBWarehouse_RedKey);
+        public Redpoint bestXBOneRed = new Redpoint(BestXB_RedKey,BestXB_OneRedKey);
+        public Redpoint bestXBManyRed = new Redpoint(BestXB_RedKey,BestXB_ManyRedKey);
+        public Redpoint runeXBOneRed = new Redpoint(RuneXB_RedKey, RuneXB_OneRedKey);
+        public Redpoint runeXBManyRed = new Redpoint(RuneXB_RedKey, RuneXB_ManyRedKey);
 
         public void RefreshXBWarehouse()
         {
@@ -728,22 +738,50 @@
         {
             if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.HappyFindTreasure)) return;
 
-            if (IsHaveFreeXB(1) || IsHaveOneXBTool(1))
+            int xbtoolCnt = 0;
+            int needtoolCnt = 0;
+            if (IsHaveFreeXB(1))
             {
                 bestXBRed.state = RedPointState.Simple;
             }
+            else if(IsHaveManyXBTool(1,out xbtoolCnt,out needtoolCnt))
+            {
+                if(xbtoolCnt >= needtoolCnt)
+                {
+                    bestXBManyRed.state = RedPointState.Simple;
+                }
+                else
+                {
+                    bestXBManyRed.state = RedPointState.None;
+                }
+                bestXBOneRed.state = RedPointState.Simple;
+            }
             else
             {
-                bestXBRed.state = RedPointState.None;
+                bestXBOneRed.state = RedPointState.None;
+                bestXBManyRed.state = RedPointState.None;
             }
 
-            if (IsHaveFreeXB(2) || IsHaveOneXBTool(2))
+            if (IsHaveFreeXB(2))
             {
                 runeXBRed.state = RedPointState.Simple;
             }
+            else if(IsHaveManyXBTool(2,out xbtoolCnt,out needtoolCnt))
+            {
+                if (xbtoolCnt >= needtoolCnt)
+                {
+                    runeXBManyRed.state = RedPointState.Simple;
+                }
+                else
+                {
+                    runeXBManyRed.state = RedPointState.None;
+                }
+                runeXBOneRed.state = RedPointState.Simple;
+            }
             else
             {
-                runeXBRed.state = RedPointState.None;
+                runeXBOneRed.state = RedPointState.None;
+                runeXBManyRed.state = RedPointState.None;
             }
         }
 

--
Gitblit v1.8.0