How GameObject [] is working between 2 classes.
Hi, i have a doubt, i'm sorry if this is something of minor importance but i have to know why this is happening.
I have a script called MyClass1 attached to a GameObject called PlayersManager, with this:
public GameObject [] players = new GameObject [2];
And i need to access to players from other GameObject with other script (MyClass2), here comes my doubt, if i do this:
public MyClass1 myClass1;
myClass1 = GameObject.Find ("PlayersManager").GetComponent<MyClass1>();
myClass1.players.Length; //in example
I can access correctly to Length value of players in MyClass1.
But if i do this:
public MyClass1 myClass1;
myClass1.players.Length;
Setting myClass1 doing drag and drop of the game object PlayersManager, which contains MyClass1 script.
I get a NullReferenceException when is trying to access to myClass1.players.Length value.
Anyone knows why this happens? Thanks a lot and best regards!
Answer by cjdev · Sep 25, 2015 at 09:31 AM
I think the problem is that in the second case you're assigning a GameObject to your MyClass1 type variable which means it's not recognizing it as a MyClass1 object but as a GameObject. So if you wanted to drag and drop you could do
public GameObject myClass1GO;
myClass1GO.GetComponent<MyClass1>().players.Length;
Your answer
Follow this Question
Related Questions
Way to copy a Class without copying the references? 0 Answers
Null Reference exception with custom class object 0 Answers
Information about Classes and Instantiate Objects C# 2 Answers
Creating a copy of an existing class object 2 Answers
Addressables.LoadContentCatalogAsync throws null reference error in build 1 Answer