如何解决库存不良视觉问题
我正在为我的手机游戏制作库存系统。当我单击播放按钮时,我会在其中装载物品,当我拿起物品时,它就会发生在我身上:
拳头打开库存时,统一添加物品槽;提货时,统一添加一个物品槽... 但是如果我先领取物品然后打开库存,就不会有这个问题。
displayInventory.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
public class displayInventory : MonoBehavIoUr
{
public InventoryObject inventory;
public float X_SPACE_BETWEEN_ITEM;
public float Y_SPACE_BETWEEN_ITEM;
public float X_START;
public float Y_START;
public int NUMBER_OF_COLUMN;
Dictionary<InventorySlot,GameObject> itemsdisplayed = new Dictionary<InventorySlot,GameObject>();
private void Start()
{
Createdisplay();
}
private void Update()
{
Updatedisplay();
}
public void Updatedisplay()
{
for (int i = 0; i < inventory.Container.Count; i++)
{
if (itemsdisplayed.ContainsKey(inventory.Container[i]))
{
itemsdisplayed[inventory.Container[i]].GetComponentInChildren<TextMeshProUGUI>().text = inventory.Container[i].amount.ToString("n0");
}
else
{
var obj = Instantiate(inventory.Container[i].item.prefab,Vector3.zero,Quaternion.identity,transform);
obj.GetComponent<RectTransform>().localPosition = GetPosition(i);
obj.GetComponentInChildren<TextMeshProUGUI>().text = inventory.Container[i].amount.ToString("n0");
itemsdisplayed.Add(inventory.Container[i],obj);
}
}
}
public void Createdisplay()
{
for (int i = 0; i < inventory.Container.Count; i++)
{
var obj = Instantiate(inventory.Container[i].item.prefab,transform);
obj.GetComponent<RectTransform>().localPosition = GetPosition(i);
obj.GetComponentInChildren<TextMeshProUGUI>().text = inventory.Container[i].amount.ToString("n0");
}
}
public Vector3 GetPosition(int i)
{
return new Vector3(X_START + (X_SPACE_BETWEEN_ITEM * (i % NUMBER_OF_COLUMN)),Y_START + ((-Y_SPACE_BETWEEN_ITEM * (i / NUMBER_OF_COLUMN))),0f);
}
}
Player.cs
public class Player : MonoBehavIoUr
{
...
public OpenCloseInventory openCloseInventory;
public InventoryObject inventory;
private void Awake()
{
openCloseInventory.inventory.SetActive(true);
inventory.Load();
openCloseInventory.inventory.SetActive(false);
}
...
}
有人可以帮我吗?
解决方法
我发现了!无需添加插槽,只需检查是否已经有一个插槽,然后修改项数即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。