- Home /
Unity "unequip" selected item from inventory.
Hello everyone, Im trying to make a inventory system in unity.
What ive got so far is this:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class playerInventory : MonoBehaviour {
public int currentWeapon;
public GameObject test;
public int selected = 0;
public bool equipped = false;
List<GameObject> inventory = new List<GameObject>();
// Use this for initialization
void Start () {
inventory.Add(test);
Debug.Log (inventory.Count);
}
// Update is called once per frame
void Update () {
loopThroughBackpack ();
}
void loopThroughBackpack(){
if (Input.GetKeyDown (KeyCode.Alpha1)) {
selected = 0;
GameObject item = GameObject.Instantiate(inventory[selected], transform.parent.position, transform.parent.rotation) as GameObject;
if(equipped == true){
equipped = false;
Destroy(item);
Debug.Log("Item unequipped");
}else if(equipped == false){
Debug.Log("Object equipped");
equipped = true;
item.transform.parent = gameObject.transform;
item.transform.localPosition = new Vector3(0.6f,-0.5f,1);
item.transform.localRotation = Quaternion.identity;
}
}
else if(Input.GetKeyDown(KeyCode.Alpha2)){
selected = 1;
}
}
}
Now when i destroy the instantiated object it doesnt actually destroy? it stays in the scene parented to the players character?
Also the canteen(instantiated object from the list) will contain variables about how much water is left etc, so how do i go about removing it without harming the canteens data?
Answer by bubzy · Oct 23, 2014 at 08:26 PM
why not have a second list called something like
hiddenInventory
and move items into there and remove them from the first list, this way they will still be available but not part of the main inventory, this will also preserve any variables that they contain.
destroying stuff is only really for if you don't want it back.
you are always setting selected
to 0 too, don't know if that's your intention
if you have a dropbox or something, I would be happy to collaborate for a short while to help out, its easier than coding in here :)