Fix issue with UI container update
This commit is contained in:
@@ -10,40 +10,47 @@ public class ContainerItemsUI : MonoBehaviour
|
||||
[SerializeField]
|
||||
private Transform _itemUITemplate;
|
||||
|
||||
private ContainerItem _playerContainer;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_container.gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
private void Start()
|
||||
{
|
||||
if (Player.Instance.IsHoldContainerItem())
|
||||
Player.Instance.OnContainerChanged += OnContainerChanged;
|
||||
}
|
||||
|
||||
private void OnContainerChanged(object sender, bool e)
|
||||
{
|
||||
if (e)
|
||||
{
|
||||
var playerContainer = Player.Instance.GetContainerItem();
|
||||
_container.gameObject.SetActive(true);
|
||||
|
||||
if (playerContainer.IsSalebleItems())
|
||||
{
|
||||
ClearObject();
|
||||
|
||||
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((SellableItemSO)playerItemsList[count]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ClearObject();
|
||||
_container.gameObject.SetActive(false);
|
||||
}
|
||||
_playerContainer = Player.Instance.GetContainerItem();
|
||||
_playerContainer.OnItemsChange += OnItemsChange;
|
||||
}
|
||||
else
|
||||
{
|
||||
ClearObject();
|
||||
_container.gameObject.SetActive(false);
|
||||
_playerContainer.OnItemsChange -= OnItemsChange;
|
||||
_playerContainer = null;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnItemsChange(object sender, System.EventArgs e)
|
||||
{
|
||||
if (_playerContainer.IsSalebleItems())
|
||||
{
|
||||
ClearObject();
|
||||
|
||||
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((SellableItemSO)playerItemsList[count]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user