Я посмотрел урок на YouTube, как сделать инвентарь в unity. Там мне все подходит, но вот только в том проблема, что там "хранилище" (сундук, в который можно класть предметы из инвентаря) "открывается" с помощью raycast. И урок по 3д игре, а у меня 2д. Мне вот именно надо чтобы он мог открываться только при входе в коллайдер игрока. Заранее спасибо, ниже прикреплю код:
void Update()
{
Storage storage = storageInstance();
if (storage)
{
if (Input.GetKeyDown(Inventory.instanceInventory.openKey))
{
Inventory.instanceInventory.storagePanel.SetActive(true);
if(Inventory.instanceInventory.storageName)
Inventory.instanceInventory.storageName.text = storage.storageName;
Inventory.instanceInventory.inventoryPanel.SetActive(true);
DisplayItems();
}
if (Input.GetKeyDown(Inventory.instanceInventory.closeKey))
{
Inventory.instanceInventory.inventoryPanel.SetActive(false);
Inventory.instanceInventory.storagePanel.SetActive(false);
}
}
}
здесь как бы открывается панель хранилища с ячейками по нажатию на кнопку.
public static Storage storageInstance()
{
Ray ray = Camera.main.ScreenPointToRay(new Vector2(Screen.width / 2, Screen.height / 2));
RaycastHit hit;
if (Physics.Raycast(ray, out hit, Inventory.instanceInventory.openDistance))
{
if (hit.collider.GetComponent<Storage>())
return hit.collider.GetComponent<Storage>();
}
return null;
}
а здесь проверяется , не слишком ли далеко от игрока сундук, и если нет, то его можно открыть.
Вот как сделать чтобы вместо raycast его можно было бы открывать при входе в коллайдер?