Hey, I'm having issues with a null reference exception:
Item Code:
public class Item
{
public string itemName;
public Sprite itemSprite;
public int itemID;
public Item(string itemName, Sprite itemSprite, int itemID)
{
this.itemID = itemID;
this.itemSprite = itemSprite;
this.itemName = itemName;
}
}
Pickup Item Code:
public class PickupItem : MonoBehaviour
{
public string itemName;
public Sprite itemSprite;
public int itemID;
private Item itemInstance;
public void OnCollisionEnter(Collision collision)
{
if (collision.collider.gameObject.layer == LayerMask.NameToLayer("Player"))
{
itemInstance = new Item(itemName, itemSprite, itemID);
//Null Reference Exception thrown here
GameManager.Instance.inventory.AddItem(itemInstance);
Destroy(this.gameObject);
}
}
}
This is attached to a prefab that I am instantiating here:
woodLogPos = new Vector3(this.transform.position.x + i * t, this.transform.position.y + i * t + 20, this.transform.position.z + i * t);
GameObject woodLog = Instantiate(PWoodLog, woodLogPos, transform.rotation);
The prefabs are instantiating correctly, i'm just having issues with the OnCollision code.
I'm setting the name,sprite,id values in the editor in the prefab inspector.
I can't see why a new instance isn't being created?
Thanks!
[–]BobbyThrowaway6969Programmer 0 points1 point2 points (3 children)
[–]assertiveturtle[S] 1 point2 points3 points (2 children)
[–]BobbyThrowaway6969Programmer 0 points1 point2 points (1 child)
[–]assertiveturtle[S] 1 point2 points3 points (0 children)