Player put items in basket with UI indication

This commit is contained in:
Vladimir Koshevarov
2023-03-05 17:21:00 +02:00
parent d7d0d8754b
commit 901e500d0e
21 changed files with 1223 additions and 618 deletions
@@ -0,0 +1,44 @@
using System.Linq;
using UnityEngine;
public class ContainerItemsUI : MonoBehaviour
{
[SerializeField]
private Transform _container;
[SerializeField]
private Transform _itemsList;
[SerializeField]
private Transform _itemUITemplate;
private void Awake()
{
_container.gameObject.SetActive(false);
}
private void Update()
{
if (Player.Instance.IsHoldContainerItem())
{
_container.gameObject.SetActive(true);
var playerContainer = Player.Instance.GetContainerItem();
if (playerContainer.GetItems().Any())
{
foreach (Transform child in _itemsList)
{
if (child == _itemUITemplate) continue;
Destroy(child.gameObject);
}
var playerItemsList = playerContainer.GetItems();
for (int count = 0; count < playerItemsList.Count; count++)
{
var itemUI = Instantiate(_itemUITemplate, _itemsList);
itemUI.gameObject.SetActive(true);
itemUI.GetComponent<ItemDescriptionUI>().SetItem(playerItemsList[count]);
}
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7c4e9fa0f730f1b4698d6adaca1b8ffd
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,20 @@
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class ItemDescriptionUI : MonoBehaviour
{
[SerializeField]
private TextMeshProUGUI _name;
[SerializeField]
private TextMeshProUGUI _price;
[SerializeField]
private Image _icon;
public void SetItem(SellableItemSO item)
{
_name.text = item.ItemName;
_price.text = $"{item.Price}$";
_icon.sprite = item.Icon;
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5de15a198a3ca5240a6c21ae0a8c6c8f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: