-
Robin Halseth Sandvik authoredRobin Halseth Sandvik authored
InventoryPanel.cs 3.39 KiB
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using BigSock.Item;
using BigSock.Service;
using UnityEngine.UI;
namespace BigSock.UI
{
public class InventoryPanel : MonoBehaviour
{
public PlayerController player;
public const string INVSLOT = "UI/Inventoryslot";
public const string ITEM = "UI/Item";
public GridLayoutGroup gridBackPack;
public GridLayoutGroup gridTools;
public GridLayoutGroup gridAccessory;
public GridLayoutGroup gridEquipment;
public void Start() {
GenerateInv();
}
public void GenerateInv()
{
var inventory = player.Inventory;
for (int i = 0; i < inventory.Backpack.Count; ++i)
{
var invSlot = PrefabService.SINGLETON.Instance(INVSLOT, gridBackPack.transform);
var invScript = invSlot.GetComponent<ItemSlot>();
invScript.inventory = inventory;
invScript.inventoryType = InventoryType.Backpack;
invScript.position = i;
var item = inventory.Backpack[i];
if (item != null)
{
var itemPref = PrefabService.SINGLETON.Instance(ITEM, transform);
var itemScript = itemPref.GetComponent<ItemPref>();
itemScript.item = item;
itemScript.itemSlot = invScript;
invScript.item = itemScript;
itemScript.transform.position = invScript.transform.position;
}
}
for (int i = 0; i < inventory.Tools.Count; ++i)
{
var invSlot = PrefabService.SINGLETON.Instance(INVSLOT, gridTools.transform);
var invScript = invSlot.GetComponent<ItemSlot>();
invScript.inventory = inventory;
invScript.inventoryType = InventoryType.Tool;
invScript.position = i;
var item = inventory.Tools[i];
if (item != null)
{
var itemPref = PrefabService.SINGLETON.Instance(ITEM, transform);
var itemScript = itemPref.GetComponent<ItemPref>();
itemScript.item = item;
itemScript.itemSlot = invScript;
invScript.item = itemScript;
itemScript.transform.position = invScript.transform.position;
}
}
for (int i = 0; i < inventory.Equipment.Count; ++i)
{
var invSlot = PrefabService.SINGLETON.Instance(INVSLOT, gridEquipment.transform);
var invScript = invSlot.GetComponent<ItemSlot>();
invScript.inventory = inventory;
invScript.inventoryType = InventoryType.Equipment;
invScript.position = i;
var item = inventory.Equipment[i];
if (item != null)
{
var itemPref = PrefabService.SINGLETON.Instance(ITEM, transform);
var itemScript = itemPref.GetComponent<ItemPref>();
itemScript.item = item;
itemScript.itemSlot = invScript;
invScript.item = itemScript;
itemScript.transform.position = invScript.transform.position;
}
}
for (int i = 0; i < inventory.Accessories.Count; ++i)
{
var invSlot = PrefabService.SINGLETON.Instance(INVSLOT, gridAccessory.transform);
var invScript = invSlot.GetComponent<ItemSlot>();
invScript.inventory = inventory;
invScript.inventoryType = InventoryType.Accessory;
invScript.position = i;
var item = inventory.Accessories[i];
if (item != null)
{
var itemPref = PrefabService.SINGLETON.Instance(ITEM, transform);
var itemScript = itemPref.GetComponent<ItemPref>();
itemScript.item = item;
itemScript.itemSlot = invScript;
invScript.item = itemScript;
itemScript.transform.position = invScript.transform.position;
}
}
}
}
}