From c2d2d5d3a840bf50968b3f95e304929bc62a7b70 Mon Sep 17 00:00:00 2001
From: leonard Wu <364452445@qq.com>
Date: 星期五, 03 八月 2018 21:02:26 +0800
Subject: [PATCH] 更新代码

---
 System/Store/Logic/BuyBoxInfoWin.cs |  103 ++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 85 insertions(+), 18 deletions(-)

diff --git a/System/Store/Logic/BuyBoxInfoWin.cs b/System/Store/Logic/BuyBoxInfoWin.cs
index ae6e0b2..6ad156f 100644
--- a/System/Store/Logic/BuyBoxInfoWin.cs
+++ b/System/Store/Logic/BuyBoxInfoWin.cs
@@ -4,6 +4,7 @@
 using Snxxz.UI;
 using System.Collections.Generic;
 using System;
+using TableConfig;
 
 namespace Snxxz.UI
 {
@@ -24,6 +25,9 @@
         Text conditionText;
         [SerializeField]
         Text needLvText;
+        [SerializeField]
+        Text realmTitleText;
+        [SerializeField] Image realmImg;
         [SerializeField]
         Text itemTypeText;
 
@@ -150,31 +154,31 @@
             ItemCellModel cellModel = new ItemCellModel(itemTipsModel.curAttrData.itemId, itemTipsModel.curAttrData.isPreview, (ulong)itemTipsModel.curAttrData.count,itemTipsModel.curAttrData.isBind
                 ,itemTipsModel.curAttrData.guid, itemTipsModel.curAttrData.packType,false);
             itemCell.Init(cellModel);
-            conditionText.text = Language.Get("KnapS110");
-            needLvText.text = itemTipsModel.curAttrData.itemConfig.UseLV.ToString();
 
-            if (itemTipsModel.curAttrData.itemConfig.UseLV > 1)
+            conditionText.gameObject.SetActive(false);
+            needLvText.gameObject.SetActive(false);
+            realmTitleText.gameObject.SetActive(false);
+            realmImg.gameObject.SetActive(false);
+
+            ChestsConfig chestsConfig = ConfigManager.Instance.GetTemplate<ChestsConfig>(itemTipsModel.curAttrData.itemId);
+            if (chestsConfig != null && chestsConfig.OpenMoney > 0)
             {
                 conditionText.gameObject.SetActive(true);
-                needLvText.gameObject.SetActive(true);
+                ulong haveMoney = UIHelper.GetMoneyCnt(1);
+                if (haveMoney >= (ulong)chestsConfig.OpenMoney)
+                {
+                    conditionText.text = Language.Get("OpenBoxCostMoney", UIHelper.GetTextColorByItemColor(TextColType.Green, chestsConfig.OpenMoney.ToString()));
+                }
+                else
+                {
+                    conditionText.text = Language.Get("OpenBoxCostMoney", UIHelper.GetTextColorByItemColor(TextColType.Red, chestsConfig.OpenMoney.ToString()));
+                }
             }
             else
             {
-                conditionText.gameObject.SetActive(false);
-                needLvText.gameObject.SetActive(false);
+                CheckUselimit();
             }
-
-            if (PlayerDatas.Instance.baseData.LV >= itemTipsModel.curAttrData.itemConfig.UseLV)
-            {
-                conditionText.color = conditionColor;
-                needLvText.color = conditionColor;
-            }
-            else
-            {
-                conditionText.color = conditionRedColor;
-                needLvText.color = conditionRedColor;
-            }
-
+           
             itemDesText.text = itemTipsModel.curAttrData.itemConfig.Description;
 
             if (itemTipsModel.curAttrData.itemConfig.ExpireTime > 0)
@@ -187,6 +191,69 @@
             }
         }
 
+        private void CheckUselimit()
+        {
+            int[] uselimits = itemTipsModel.curAttrData.itemConfig.UseCondiType;
+            if (uselimits == null) return;
+
+            for (int i = 0; i < uselimits.Length; i++)
+            {
+                switch (uselimits[i])
+                {
+                    case 0:
+                        if (itemTipsModel.curAttrData.itemConfig.UseLV > 1)
+                        {
+                            conditionText.gameObject.SetActive(true);
+                            needLvText.gameObject.SetActive(true);
+                        }
+                        conditionText.text = Language.Get("KnapS110");
+                        needLvText.text = itemTipsModel.curAttrData.itemConfig.UseLV.ToString();
+
+                        if (PlayerDatas.Instance.baseData.LV >= itemTipsModel.curAttrData.itemConfig.UseLV)
+                        {
+                            conditionText.color = conditionColor;
+                            needLvText.color = conditionColor;
+                        }
+                        else
+                        {
+                            conditionText.color = conditionRedColor;
+                            needLvText.color = conditionRedColor;
+                        }
+
+                        break;
+                    case 1:
+                        realmTitleText.gameObject.SetActive(true);
+                        realmImg.gameObject.SetActive(true);
+                        realmTitleText.text = Language.Get("RealmLimit1");
+                        RealmConfig realmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(itemTipsModel.curAttrData.itemConfig.RealmLimit);
+                        if (itemTipsModel.curAttrData.itemConfig.RealmLimit <= 0)
+                        {
+                            realmImg.SetSprite("NoRealm");
+                        }
+                        else
+                        {
+                            if (realmConfig != null)
+                            {
+                                realmImg.SetSprite(realmConfig.Img);
+                            }
+                        }
+
+                        if (PlayerDatas.Instance.baseData.realmLevel >= itemTipsModel.curAttrData.itemConfig.RealmLimit)
+                        {
+                            realmTitleText.color = conditionColor;
+                        }
+                        else
+                        {
+                            realmTitleText.color = conditionRedColor;
+                        }
+                        break;
+                    case 2:
+                        break;
+                }
+            }
+
+        }
+
         private void SetDateLimitUI(double time)
         {
             dateText.gameObject.SetActive(true);

--
Gitblit v1.8.0