Files
5.24BuYu/Assets/MyGame/aa/UI/Home/Sub/UIHome_BY_BackPackPanel.cs
T

99 lines
3.2 KiB
C#

using Assets.Framework.Tool;
using Assets.MyGame.Scripts.Net;
using Assets.MyGame.Scripts.Net.API.UserData_SubClass;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class UIHome_BY_BackPackPanel : SubUIBase
{
public List<BaseProductCount> props;
public Dictionary<string,BaseProductCount> propsID_Dic = new Dictionary<string,BaseProductCount>();
public Dictionary<int,BaseProductCount> propsObjHashCode_Dic = new Dictionary<int, BaseProductCount>();
public Transform pageParent;
public GameObject prefabItem;
public GameObject prefabPage;
public TextMeshProUGUI tMP_Name;
public TextMeshProUGUI tMP_Description;
public Button btn_Next;
public Button btn_Up;
public TextMeshProUGUI text_PageNum;
public int pageCountNum = 0;
public int pageNum = 1;
public ScrollRect scrollRect;
public override void Awake()
{
base.Awake();
}
protected override void OnShow(object args = null)
{
base.OnShow(args);
props = GameManager.Instance.user.props;
foreach (BaseProductCount product in props)
{
propsID_Dic[product.number]=product;
if (product.count<=0)
{
propsID_Dic.Remove(product.number);
}
}
int i=0;
Transform itemParent=null;
itemParent = Instantiate(prefabPage, pageParent).transform;
pageCountNum++;
foreach (BaseProductCount product in propsID_Dic.Values)
{
if (propsID_Dic.Count %12 == 0&&propsID_Dic.Count!=0)
{
itemParent = Instantiate(prefabPage, pageParent).transform;
pageCountNum++;
}
GameObject obj = Instantiate(prefabItem,itemParent);
propsObjHashCode_Dic[obj.GetHashCode()] = product;
obj.transform.GetChild(1).GetComponent<TextMeshProUGUI>().text= product.count.ToString();
obj.GetComponent<Toggle>().onValueChanged.AddListener((value) =>
{
if (value)
{
tMP_Name.text=product.name;
tMP_Description.text = product.desc;
}
});
WebTool.DownImage(APIManager.baseURL+product.imageUrl, (texture) =>
{
obj.transform.GetChild(0).GetComponent<Image>().sprite = Sprite.Create(texture,new Rect(0f,0f,90,90),Vector2.one*0.5f) ;
});
i++;
}
btn_Next.onClick.AddListener(() =>
{
if (pageNum > 1)
{
pageNum--;
}
text_PageNum.text = pageNum + "/" + pageCountNum;
scrollRect.horizontalNormalizedPosition = (float)(pageNum - 1) / (float)(pageCountNum - 1);
});
btn_Up.onClick.AddListener(() =>
{
if (pageNum < pageCountNum)
{
pageNum++;
}
text_PageNum.text = pageNum + "/" + pageCountNum;
scrollRect.horizontalNormalizedPosition = (float)(pageNum - 1) / (float)(pageCountNum - 1);
});
}
}