UPF/Assets/Game/Scripts/SellMenu.cs
2022-05-19 16:51:35 +05:30

88 lines
2.5 KiB
C#

using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
public class SellMenu : MonoBehaviour
{
[Header("Labels")]
public TMP_Text usernameTxt;
public TMP_Text coinsTxt;
public TMP_Text gemsTxt;
[Header("Content")]
public Transform inventoryParent;
public Sprite emptySlotImage;
[Header("Your Request Material Setter")]
public GameObject yourReqPopup;
public TMP_InputField coinsInput;
public TMP_InputField gemsInput;
public TMP_InputField oxygenInput;
public TMP_InputField metalInput;
public int coinsAmount;
public int gemsAmount;
public int oxygenAmount;
public int metalAmount;
public Image selectedItemImg;
void Start()
{
Refresh();
}
// Update is called once per frame
void Update()
{
}
public void Refresh(){
usernameTxt.text = DBmanager.username;
coinsTxt.text = DBmanager.Coins.ToString();
gemsTxt.text = DBmanager.Gems.ToString();
Button[] inventorySlots = inventoryParent.GetComponentsInChildren<Button>();
if(inventorySlots.Length < DBmanager.Inventory.Count){
Debug.LogError("NEED MORE SLOTS!!!");
return;
}
for(int i =0; i < inventorySlots.Length; i++){
if(i < DBmanager.Inventory.Count){
InventoryItem itemData = Inventory.GetInventoryItem(DBmanager.Inventory[i].Item);
if(itemData==null){
Debug.LogError("Couldn't find data for " + DBmanager.Inventory[i].Item);
}
inventorySlots[i].transform.GetChild(0).GetComponent<Image>().sprite = itemData.image;
inventorySlots[i].interactable=true;
inventorySlots[i].onClick.RemoveAllListeners();
inventorySlots[i].onClick.AddListener(()=>{selectInventoryItem(itemData);});
}else{
inventorySlots[i].transform.GetChild(0).GetComponent<Image>().sprite = emptySlotImage;
inventorySlots[i].interactable=false;
}
}
}
public void ShowMaterialAmountSetter(){
}
public void CloseSellMenu(){
gameObject.SetActive(false);
}
public void Clear(){
metalAmount = coinsAmount = oxygenAmount = gemsAmount = 0;
// selected
Refresh();
}
public void selectInventoryItem(InventoryItem item){
selectedItemImg.sprite = item.image;
}
}