i keep getting NullReferenceException but i can’t really understand where the problem is
these are the scripts i’m using:
using UnityEngine;
using System.Collections;
[System.Serializable]
public class SomeClass {
public GameObject[] objects;
public SomeClass() {}
public GameObject GetRandomGameObject() {
return objects[Random.Range(0, objects.Length)];
}
}
[System.Serializable]
public class SomeClassContainer{
public SomeClass[] types;
public SomeClassContainer() {}
public GameObject PickRandomType(string x) {
if (x == "top") {
return types[6].GetRandomGameObject ();
}
return null;
}
}
[System.Serializable]
public class ArrayManager : MonoBehaviour {
public SomeClassContainer blue;
public SomeClassContainer red;
public SomeClassContainer yellow;
public SomeClassContainer GetBlue() {return null;}
public SomeClassContainer GetRed() {return null;}
public SomeClassContainer GetYellow() {return null;}
}
and here i call the class method to instantiate the random object:
using UnityEngine;
using System.Collections;
public class Spawn : MonoBehaviour {
public GameObject currentObject;
public Vector3 attachPosition;
private string x = "top";
GameObject randomObject;
// Use this for initialization
void Start () {
Check ();
}
// Update is called once per frame
void Update () {
}
void Check(){
ArrayManager am = GameObject.FindGameObjectWithTag("PiecesManager").GetComponent<ArrayManager>();
attachPosition = currentObject.transform.FindChild ("attach").transform.position;
if (currentObject.GetComponent<check> ().top == true) {
randomObject = am.GetBlue().PickRandomType(x); //here i get the error
Instantiate(randomObject, attachPosition, randomObject.transform.rotation);
}
}
}
i hope you can help me