WGL 1 ماه پیش
والد
کامیت
d0ec8c659e

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 972 - 6
ActionTowerDefense/Assets/Resources/Prefab/RougueUI/Shop_UI.prefab


+ 3 - 0
ActionTowerDefense/Assets/Resources/Prefab/RougueUI/TreasureDetails.prefab

@@ -980,6 +980,9 @@ MonoBehaviour:
   attribute: {fileID: 1508974979500203315}
   buy: {fileID: 3648198651598870817}
   price: {fileID: 9007231733490116374}
+  TreasureBackgrounds:
+  - {fileID: 21300000, guid: 8f3b16bc9aa84a840a8241b05e628e4e, type: 3}
+  - {fileID: 21300000, guid: 9e6f22d4e598bb84db092780d40f392c, type: 3}
   islock: 0
   isNull: 0
   owner: {fileID: 0}

+ 1 - 0
ActionTowerDefense/Assets/Scripts/GameManager.cs

@@ -169,6 +169,7 @@ public class GameManager : MonoBehaviour
                 treasuresList[singleTreasureConfig.Quality][singleTreasureConfig.Tag[j]].Add(singleTreasureConfig);
             }
         }
+        maxTreasuresTag = -1;
         nowLevel = 1;
     }
 

+ 5 - 5
ActionTowerDefense/Assets/Scripts/UI/ShopUI.cs

@@ -16,8 +16,8 @@ public class ShopUI : MonoBehaviour
     [FoldoutGroup("组件")] public GameObject treasureDetails_inBag;
     [FoldoutGroup("组件")] public Transform bagContent;
     [FoldoutGroup("组件")] public Transform detailsParent;
-    public Color[] qualitysIcon;
-    public Color[] qualitysText;
+    [FoldoutGroup("组件")] public Sprite[] qualityBox;
+    [FoldoutGroup("组件")] public Color[] qualitysText;
     
     [LabelText("标签间隔")] public float interval;
     [LabelText("雷达图初始最大值")] public int polygonInitMax;
@@ -59,7 +59,7 @@ public class ShopUI : MonoBehaviour
                 }
             }
             int targetTag = 0;
-            if(targetQualityID != 0)
+            if(targetQualityID != 0 && gameManager.maxTreasuresTag!=-1)
             {
                 int targetTagWeight = -1;
                 float randomTagWeight = Random.Range(0f, 100f);
@@ -109,7 +109,7 @@ public class ShopUI : MonoBehaviour
                 singleTreasureConfig.ID,
                 singleTreasureConfig.Name,
                 sprite,
-                qualitysIcon[singleTreasureConfig.Quality],
+                qualityBox[singleTreasureConfig.Quality],
                 qualitysText[singleTreasureConfig.Quality],
                 singleTreasureConfig.Tag,
                 tags,
@@ -176,7 +176,7 @@ public class ShopUI : MonoBehaviour
             }
             treasureInBag.treasuresSaleUI = treasuresSaleUI;
             treasureInBag.sprite = treasures[i].sprite;
-            treasureInBag.color = treasures[i].qualityIcon;
+            treasureInBag.box = treasures[i].qualityBox;
             treasureInBag.shopUI = this;
             treasuresSaleUI.owner = treasureInBag;
             treasuresSaleUI.treasure = treasures[i];

+ 2 - 2
ActionTowerDefense/Assets/Scripts/UI/TreasureInBag.cs

@@ -8,14 +8,14 @@ public class TreasureInBag : MonoBehaviour
     public Image image;
     public Image background;
     [DisplayOnly] public Sprite sprite;
-    [DisplayOnly] public Color color;
+    [DisplayOnly] public Sprite box;
     public TreasuresSaleUI treasuresSaleUI;
     [DisplayOnly] public ShopUI shopUI;
 
     public void Refresh()
     {
         image.sprite = sprite;
-        background.color = color;
+        background.sprite = box;
         treasuresSaleUI.shopUI = shopUI;
         treasuresSaleUI.Init();
     }

+ 13 - 4
ActionTowerDefense/Assets/Scripts/UI/TreasuresSaleUI.cs

@@ -9,7 +9,7 @@ public struct Treasure
     public int id;
     public string name;
     public Sprite sprite;
-    public Color qualityIcon;
+    public Sprite qualityBox;
     public Color qualityText;
     public List<int> tagsId;
     public List<Sprite> tags;
@@ -18,12 +18,12 @@ public struct Treasure
     public List<string> type;
     public List<float> data;
 
-    public Treasure(int id, string name, Sprite sprite, Color qualityIcon, Color qualityText, List<int> tagsId, List<Sprite> tags, string attribute, int price, List<string> type, List<float>data)
+    public Treasure(int id, string name, Sprite sprite, Sprite qualityBox, Color qualityText, List<int> tagsId, List<Sprite> tags, string attribute, int price, List<string> type, List<float>data)
     {
         this.id = id;
         this.name = name;
         this.sprite = sprite;
-        this.qualityIcon = qualityIcon;
+        this.qualityBox = qualityBox;
         this.qualityText = qualityText;
         this.tagsId = new List<int>(tagsId);
         this.tags = new List<Sprite>(tags);
@@ -45,6 +45,7 @@ public class TreasuresSaleUI : MonoBehaviour
     [FoldoutGroup("×é¼þ")] public TextMeshProUGUI attribute;
     [FoldoutGroup("×é¼þ")] public ButtonUI buy;
     [FoldoutGroup("×é¼þ")] public TextMeshProUGUI price;
+    [FoldoutGroup("×é¼þ")] public List<Sprite> TreasureBackgrounds;
 
     public bool islock;
     public bool isNull;
@@ -65,7 +66,7 @@ public class TreasuresSaleUI : MonoBehaviour
             ShowLockImg();
         }
         
-        iconBackground.color = treasure.qualityIcon;
+        iconBackground.sprite = treasure.qualityBox;
         icon.sprite = treasure.sprite;
         int type = treasure.tags.Count % 2;
         int len = treasure.tags.Count / 2;
@@ -94,6 +95,14 @@ public class TreasuresSaleUI : MonoBehaviour
                 tag.gameObject.SetActive(false);
             }
         }
+        if (treasure.tags.Count == 0)
+        {
+            transform.GetComponent<Image>().sprite = TreasureBackgrounds[1];
+        }
+        else
+        {
+            transform.GetComponent<Image>().sprite = TreasureBackgrounds[0];
+        }
         nameText.text = treasure.name;
         nameText.color = treasure.qualityText;
         attribute.text = treasure.attribute;

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است