GetComponent is not a member of Object
Hi everyone. Stuck again on another Unity 4 to 5 upgrade issue. Here is my code:
for (stage = 2; stage <= cells.length; stage++) {
for (i = 0; i <= cells.length - 1; i++) {
if (doorsToCells[i] == stage - 1)
for (var checkDoor : GameObject in cells[i].GetComponent(AIpathCellScript).doors) {
if (checkDoor != gameObject) {
for (var checkCell : GameObject in checkDoor.GetComponent(AIpathDoorScript).imediateCells) {
for (var j : int = 0; j <= cells.length - 1; j++) {
if (cells[j] == checkCell && doorsToCells[j] == null)
doorsToCells[j] = stage;
}
}
}
}
}
}
And the problem area is this:
for (var checkDoor : GameObject in cells[i].GetComponent(AIpathCellScript).doors) {
The error is: 'GetComponent' is not a member of 'Object'.
I've had this issue a few times. I'm guessing that scripts are not considered GameObjects anymore? Can anyone shed some insight.
Sorry I didn't include enough of the script. 'cells' is defined at the start of the script simply like so: var cells = new Array();
Only scripts that are derived from a GameObject class, like $$anonymous$$onobehavior, are considered GameObjects. I DO know they changed the way we use GetComponent(). Not sure about with Java, but with c# we need to use this version now: GetComponent (), where T is the type of component.
P.S. you reply to Halfbiscuit is why I dislike Java: you answer shows exactly how you declared "cells", but we still have no idea what it is an array OF. To use "cells" as you do, it must be an array of GameObjects (but we still can't tell if it is). Perhaps if you show us where you fill-in the array we can figure that out.
Your answer
Follow this Question
Related Questions
I need quick help with my C# code GetComponent! 1 Answer
Multiple GameObjects with same Script 1 Answer
What's wrong with my script? 2 Answers