From 7360d00793d1052700c15a3e029878d02b41ff3b Mon Sep 17 00:00:00 2001 From: wulongxiao <2545507770@qq.com> Date: Wed, 27 Nov 2024 23:39:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=BA=97=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scripts/Scene_main/Scene_main_jiekou.cs | 19 ++++++++++++------- .../Assets/Scripts/Scene_main/main_shop.cs | 4 ++-- .../Assets/Scripts/Scene_shop/itemInfo.cs | 8 ++++---- .../Assets/Scripts/Scene_shop/shopPanel.cs | 12 +++--------- 4 files changed, 21 insertions(+), 22 deletions(-) diff --git a/TheStrongestSnail/Assets/Scripts/Scene_main/Scene_main_jiekou.cs b/TheStrongestSnail/Assets/Scripts/Scene_main/Scene_main_jiekou.cs index 3a7f396..6131805 100644 --- a/TheStrongestSnail/Assets/Scripts/Scene_main/Scene_main_jiekou.cs +++ b/TheStrongestSnail/Assets/Scripts/Scene_main/Scene_main_jiekou.cs @@ -17,7 +17,7 @@ public class Scene_main_jiekou :Base private MallResponsePro _mallResponsePro;//商城列表结构体 private getMallList21 _getMallList21;//商城列表获取方法 //商城info字典 - public Dictionary shopItemDic; + public Dictionary shopItemDic = new Dictionary(); // Start is called before the first frame update @@ -52,21 +52,26 @@ public class Scene_main_jiekou :Base public async Task ShopInfo() { - //提前清空 - shopItemDic = null; + // 每次调用时清空字典,确保是最新数据 + shopItemDic.Clear(); + + // 清空商城数据 _mallResponsePro = null; _getMallList21 = null; - - //重写写入 + // 重新实例化商城相关对象 _mallResponsePro = new MallResponsePro(); _getMallList21 = new getMallList21(); + + // 异步获取商城数据 _mallResponsePro = await _getMallList21.getMallList(1, 1, 20); + // 将商品信息存入字典 foreach (ProductPro go in _mallResponsePro.Data.DataList) { - shopItemDic.Add(go.ProductId,go); - } + // 更新字典中的商品信息 + shopItemDic[go.ProductId] = go; + } } diff --git a/TheStrongestSnail/Assets/Scripts/Scene_main/main_shop.cs b/TheStrongestSnail/Assets/Scripts/Scene_main/main_shop.cs index 869519f..8f10990 100644 --- a/TheStrongestSnail/Assets/Scripts/Scene_main/main_shop.cs +++ b/TheStrongestSnail/Assets/Scripts/Scene_main/main_shop.cs @@ -28,9 +28,9 @@ public class main_shop :BaseUIPanel return; } - //await Scene_main_jiekou.instance.ShopInfo(); + await Scene_main_jiekou.instance.ShopInfo(); //获取商城列表 - Debug.Log("获取商城列表"); + Debug.Log("获取商城列表才能实例化panel,但是更新显示让panel来"); // 实例化 Panel GameObject.Instantiate(Panel, canvas.transform); diff --git a/TheStrongestSnail/Assets/Scripts/Scene_shop/itemInfo.cs b/TheStrongestSnail/Assets/Scripts/Scene_shop/itemInfo.cs index dcce967..e527b61 100644 --- a/TheStrongestSnail/Assets/Scripts/Scene_shop/itemInfo.cs +++ b/TheStrongestSnail/Assets/Scripts/Scene_shop/itemInfo.cs @@ -37,19 +37,19 @@ public class itemInfo : MonoBehaviour this.id = id; } - public void initShow(int id, Sprite icon, string name, float price) + public void initShow(int id, Sprite icon, string name, string price) { this.id = id; iconImage.sprite = icon; nameText.text = name; - priceText.text = price.ToString(); + priceText.text = price; } - public void initShow(int id, string name, float price) + public void initShow(int id, string name, string price) { this.id = id; nameText.text = name; - priceText.text = price.ToString(); + priceText.text = price; } } diff --git a/TheStrongestSnail/Assets/Scripts/Scene_shop/shopPanel.cs b/TheStrongestSnail/Assets/Scripts/Scene_shop/shopPanel.cs index c68c2b6..b95a996 100644 --- a/TheStrongestSnail/Assets/Scripts/Scene_shop/shopPanel.cs +++ b/TheStrongestSnail/Assets/Scripts/Scene_shop/shopPanel.cs @@ -10,16 +10,10 @@ public class shopPanel: ui_huodong void initShop() { - - int index= Scene_main_jiekou.instance._mallResponsePro.Data.TotalCount;//商城的商品数量 - - foreach (itemInfo item in itemInfos) + int index = 0; + foreach (KeyValuePair go in Scene_main_jiekou.instance.shopItemDic) { - if (index>0) - { - item.gameObject.SetActive(true); - - } + itemInfos[index].initShow(go.Value.ProductId,go.Value.ProductName,go.Value.ProductPic.ToString()); } }