From 1a3098212d90ec1fc3e5bb324c445272b34c012b Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期四, 20 九月 2018 21:22:24 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Strengthening/GodBeastAttributes.cs |  142 ++++++++++++++++++++++++++++++++++-------------
 1 files changed, 103 insertions(+), 39 deletions(-)

diff --git a/System/Strengthening/GodBeastAttributes.cs b/System/Strengthening/GodBeastAttributes.cs
index bbbfb5a..c5352ba 100644
--- a/System/Strengthening/GodBeastAttributes.cs
+++ b/System/Strengthening/GodBeastAttributes.cs
@@ -35,6 +35,10 @@
 
         [SerializeField] UIAlphaTween m_UIAlphaTween;
         [SerializeField] Slider m_Slider;
+
+        [SerializeField] GameObject m_Text_two;//涓嬬骇灞炴��
+        [SerializeField] Button m_StrengthenDoubleBtn;//鍙屽�嶅己鍖栨寜閽�
+        [SerializeField] Text m_NeedFairy;//鎵�闇�鐨勪粰鐜�
         DogzModel Dogz_model;
         DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } }
         private Dictionary<int, int> QualityLimit = new Dictionary<int, int>();
@@ -57,6 +61,7 @@
         {
             m_DoubleToggle.onValueChanged.AddListener(OnClickToggle);
             m_StrengthenBtn.AddListener(OnClickStrengthBtn);
+            m_StrengthenDoubleBtn.AddListener(OnClickStrengthBtn);
         }
         private void OnEnable()
         {
@@ -102,7 +107,7 @@
                 ListCount.Add(DicAb[key]);
             }
             if (m_DoubleToggle.isOn)
-            {                
+            {
                 dogz_model.SendDogzEquipStrength(m_DogZItemModel.itemInfo.ItemPlace, ListIndex, ListCount, 1);
             }
             else
@@ -110,11 +115,12 @@
                 dogz_model.SendDogzEquipStrength(m_DogZItemModel.itemInfo.ItemPlace, ListIndex, ListCount, 0);
             }
         }
+
         private void ChooseToModify(int locationMarker)
         {
             GetGodBeastLocationMarker(locationMarker);
         }
-        private void AbsorbEvent()//閫変腑鍙栨秷鐨勬暟鎹埛鏂�
+        private void AbsorbEvent()//閫変腑涓庡彇娑堢殑鏁版嵁鍒锋柊
         {
             GetDogZLevelAndExp();
             AttributeAssignment();
@@ -157,6 +163,11 @@
                 m_ExpSlider.ResetStage();
                 m_ExpSlider.value = 0;
                 m_ExpNum.text = "0/0";
+                m_TextAttributes1.gameObject.SetActive(false);
+                m_TextAttributes2.gameObject.SetActive(false);
+                m_TextAttributesAdd1.gameObject.SetActive(false);
+                m_TextAttributesAdd2.gameObject.SetActive(false);
+                m_Text_two.SetActive(false);
                 m_FrameNull.SetActive(false);
                 m_FullLevel.SetActive(false);
             }
@@ -176,36 +187,59 @@
                 var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, lv);
                 if (DogZLv >= lv)
                 {
+                    m_Text_two.SetActive(false);
                     m_FrameNull.SetActive(false);
+                    m_TextAttributes1.gameObject.SetActive(false);
+                    m_TextAttributes2.gameObject.SetActive(false);
+                    m_TextAttributesAdd1.gameObject.SetActive(false);
+                    m_TextAttributesAdd2.gameObject.SetActive(false);
                     m_FullLevel.SetActive(true);
+                    GodBeast_Number = GodBeastNumber;
+                    GodBeast_Part = GodBeastPart;
                     m_ExpSlider.stage = lv;
                     m_ExpSlider.delay = 0f;
                     m_ExpSlider.ResetStage();
                     m_ExpSlider.value = 1;
                     m_Slider.gameObject.SetActive(false);
-                    m_ExpNum.text = DogzEquipConfig.upExpTotal + "/" + DogzEquipConfig.upExpTotal;
+                    int NeedExp = DogzEquipConfig.upExpTotal;
+                    if (DogZLv > 0)
+                    {
+                        var Dogz_EquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, DogZLv - 1);
+                        NeedExp -= Dogz_EquipConfig.upExpTotal;
+                    }
+                    m_ExpNum.text = DogZExp + "/" + NeedExp;
                 }
                 else
                 {
+                    m_Text_two.SetActive(true);
                     if (m_DoubleToggle.isOn)
                     {
+                        m_StrengthenBtn.gameObject.SetActive(false);
+                        m_StrengthenDoubleBtn.gameObject.SetActive(true);
+                        m_NeedFairy.text = NeedFairyJade.ToString();
                         PropertySetting(DogZExp, DoubleProficiency);
                     }
                     else
                     {
+                        m_StrengthenBtn.gameObject.SetActive(true);
+                        m_StrengthenDoubleBtn.gameObject.SetActive(false);
                         PropertySetting(DogZExp, SingleProficiency);
                     }
-
                 }
             }
             else
             {
                 if (m_DoubleToggle.isOn)
                 {
+                    m_StrengthenBtn.gameObject.SetActive(false);
+                    m_StrengthenDoubleBtn.gameObject.SetActive(true);
+                    m_NeedFairy.text = NeedFairyJade.ToString();
                     PropertySetting(0, DoubleProficiency);
                 }
                 else
                 {
+                    m_StrengthenBtn.gameObject.SetActive(true);
+                    m_StrengthenDoubleBtn.gameObject.SetActive(false);
                     PropertySetting(0, SingleProficiency);
                 }
             }
@@ -256,6 +290,12 @@
                 m_LvNextText.text = "+" + toLv.ToString();
             }
             var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, DogZLv);
+            int NeedExp = DogzEquipConfig.upExpTotal;
+            if (DogZLv > 0)
+            {
+                var Dogz_EquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, DogZLv - 1);
+                NeedExp -= Dogz_EquipConfig.upExpTotal;
+            }
             int[] AttType = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attType);
             int[] AttValue = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attValue);
             if (ToExpTotal == 0)
@@ -263,8 +303,9 @@
                 m_Slider.gameObject.SetActive(false);
                 m_TextAttributesAdd1.gameObject.SetActive(false);
                 m_TextAttributesAdd2.gameObject.SetActive(false);
-                m_ExpNum.text = DogZExp + "/" + DogzEquipConfig.upExpTotal;
-                float value = (float)DogZExp / DogzEquipConfig.upExpTotal;
+
+                m_ExpNum.text = DogZExp + "/" + NeedExp;
+                float value = (float)DogZExp / NeedExp;
                 SetExperienceBar(DogZLv, value);
                 if (AttType.Length > 1)
                 {
@@ -285,54 +326,30 @@
             else
             {
                 m_Slider.gameObject.SetActive(true);
-                if (DogZExp + ToExpTotal >= DogzEquipConfig.upExpTotal)
+                if (DogZExp + ToExpTotal >= NeedExp)
                 {
                     m_Slider.value = 1f;
                 }
                 else
                 {
-                    m_Slider.value = (float)(DogZExp + ToExpTotal) / (float)(DogzEquipConfig.upExpTotal);
+                    m_Slider.value = (float)(DogZExp + ToExpTotal) / (float)(NeedExp);
                 }
                 m_UIAlphaTween.Play();
-                var DogzEquipToConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, toLv);
-                int[] AttTypeTo = ConfigParse.GetMultipleStr<int>(DogzEquipToConfig.attType);
-                int[] AttValueTo = ConfigParse.GetMultipleStr<int>(DogzEquipToConfig.attValue);
                 string strColor = string.Format(Language.Get("DogzGreenText"), ToExpTotal);
-                m_ExpNum.text = DogZExp + strColor + "/" + DogzEquipConfig.upExpTotal;
-                float value= (float)DogZExp / DogzEquipConfig.upExpTotal;
+                m_ExpNum.text = DogZExp + strColor + "/" + NeedExp;
+                float value = (float)DogZExp / NeedExp;
                 SetExperienceBar(DogZLv, value);
-                if (AttType.Length > 1)
-                {
-                    m_TextAttributes1.gameObject.SetActive(true);
-                    m_TextAttributes2.gameObject.SetActive(true);
-                    m_TextAttributesAdd1.gameObject.SetActive(true);
-                    m_TextAttributesAdd2.gameObject.SetActive(true);
-                    string StrName1 = Config.Instance.Get<PlayerPropertyConfig>(AttType[0]).Name;
-                    string StrName2 = Config.Instance.Get<PlayerPropertyConfig>(AttType[1]).Name;
-                    m_TextAttributes1.text = StrName1 + ":" + AttValue[0];
-                    m_TextAttributes2.text = StrName2 + ":" + AttValue[1];
-                    m_TextAttributesAdd1.text = "+" + (AttValueTo[0] - AttValue[0]);
-                    m_TextAttributesAdd2.text = "+" + (AttValueTo[1] - AttValue[1]);
-                }
-                else
-                {
-                    m_TextAttributes1.gameObject.SetActive(true);
-                    m_TextAttributesAdd1.gameObject.SetActive(true);
-                    m_TextAttributes2.gameObject.SetActive(false);
-                    m_TextAttributesAdd2.gameObject.SetActive(false);
-                    string StrName1 = Config.Instance.Get<PlayerPropertyConfig>(AttType[0]).Name;
-                    m_TextAttributes1.text = StrName1 + ":" + AttValue[0];
-                    m_TextAttributesAdd1.text = "+" + (AttValueTo[0] - AttValue[0]);
-                }
             }
-
+            SetAddAttributes(DogzEquipConfig, GodBeastPart, toLv);//璁剧疆棰勮鐨勫睘鎬�
             if (ToExpTotal == 0)
             {
                 m_StrengthenBtn.interactable = false;
+                m_StrengthenDoubleBtn.interactable = false;
             }
             else
             {
                 m_StrengthenBtn.interactable = true;
+                m_StrengthenDoubleBtn.interactable = true;
             }
         }
 
@@ -344,6 +361,11 @@
                 return DogzLv;
             }
             int lv = QualityLimit[m_DogZItemModel.chinItemModel.ItemColor];
+            var IudetDogzEquipPlus = m_DogZItemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);
+            if (IudetDogzEquipPlus != null)
+            {
+                ToExpTotal+= IudetDogzEquipPlus[1];
+            }
             for (int i = lv; i >= 0; i--)
             {
                 var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, i);
@@ -386,14 +408,23 @@
             if (IudetDogzEquipPlus != null)
             {
                 DogZLv = IudetDogzEquipPlus[0];
-                DogZExp = IudetDogzEquipPlus[1];
+                if (DogZLv > 0)
+                {
+                    var Dogz_EquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, DogZLv - 1);
+                    DogZExp = IudetDogzEquipPlus[1] - Dogz_EquipConfig.upExpTotal;
+                }
+                else
+                {
+                    DogZExp = IudetDogzEquipPlus[1];
+                }
+
             }
         }
 
 
         int GodBeast_Number = 0;
         int GodBeast_Part = 0;
-        private void SetExperienceBar(int lv,float value)//璁剧疆缁忛獙鏉�
+        private void SetExperienceBar(int lv, float value)//璁剧疆缁忛獙鏉�
         {
             if (GodBeast_Number != GodBeastNumber || GodBeast_Part != GodBeastPart)
             {
@@ -411,6 +442,39 @@
                 m_ExpSlider.value = value;
             }
         }
+
+        private void SetAddAttributes(DogzEquipPlusConfig DogzEquipConfig, int GodBeastPart, int toLv)//璁剧疆棰勮鐨勫睘鎬�
+        {
+            int[] AttType = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attType);
+            int[] AttValue = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attValue);
+            var DogzEquipToConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, toLv);
+            int[] AttTypeTo = ConfigParse.GetMultipleStr<int>(DogzEquipToConfig.attType);
+            int[] AttValueTo = ConfigParse.GetMultipleStr<int>(DogzEquipToConfig.attValue);
+            if (AttType.Length > 1)
+            {
+                m_TextAttributes1.gameObject.SetActive(true);
+                m_TextAttributes2.gameObject.SetActive(true);
+                m_TextAttributesAdd1.gameObject.SetActive(true);
+                m_TextAttributesAdd2.gameObject.SetActive(true);
+                string StrName1 = Config.Instance.Get<PlayerPropertyConfig>(AttType[0]).Name;
+                string StrName2 = Config.Instance.Get<PlayerPropertyConfig>(AttType[1]).Name;
+                m_TextAttributes1.text = StrName1 + ":" + AttValue[0];
+                m_TextAttributes2.text = StrName2 + ":" + AttValue[1];
+                m_TextAttributesAdd1.text = "+" + (AttValueTo[0] - AttValue[0]);
+                m_TextAttributesAdd2.text = "+" + (AttValueTo[1] - AttValue[1]);
+            }
+            else
+            {
+                m_TextAttributes1.gameObject.SetActive(true);
+                m_TextAttributesAdd1.gameObject.SetActive(true);
+                m_TextAttributes2.gameObject.SetActive(false);
+                m_TextAttributesAdd2.gameObject.SetActive(false);
+                string StrName1 = Config.Instance.Get<PlayerPropertyConfig>(AttType[0]).Name;
+                m_TextAttributes1.text = StrName1 + ":" + AttValue[0];
+                m_TextAttributesAdd1.text = "+" + (AttValueTo[0] - AttValue[0]);
+            }
+
+        }
     }
 
 }

--
Gitblit v1.8.0