- Home /
How to use a JS Array() with #pragma strict?
Alright, so in my AI path scripts I use three JS Arrays(). I understand that you should not use these arrays because the type of data stored in a JS Array is not set to a specific type and instead leaves all values inside the array equal to a 'Object'. I get this. This is the only script that uses these types of Arrays because I know it is costly. However, I'm trying to switch platforms for some testing and I've run into the problem of the Arrays being in my script. However, I can not convert them to GameObject[] because I can not add object to this type of array is it goes. So, I'm here to ask if there is any way at all I can use these JS Arrays with #pragma strict. The problem occurs when I try to retrieve a Component from a GameObject in the Array. It states the following:
"Assets/Scripts/AIPathDoor.js(64,84): BCE0019: 'GetComponent' is not a member of 'Object'. "
So, I'm wondering if there is a way that I can define the type of the value in the array that I'm retrieving so the script knows that it is a 'GameObject' instead of an 'Object'. Please, don't tell me to use Builtin arrays because I've tried for days now and I can not get this to work unless there is a way to add and subtract GameObjects from it. Sorry if that sounds mean but I hope you can understand that it's really frustrating! Haha, thanks for the help in advance.
Answer by Eric5h5 · Jul 28, 2013 at 10:08 PM
Switch the JS Array to a generic List. It will be correctly typed and you can add/remove items easily. There's no reason to ever use the JS Array class.
Yea, thanks. I figured it out. Sorry for not posting. I imported the Generic list using "import Systems.Collections.Generic" and made a Game Object list. Thanks for the help Eric :)
Your answer
Follow this Question
Related Questions
Find one inactive player (gameobject) 2 Answers
Instantiate from array into array? 2 Answers
Null reference when accessing GameObject in the Array(C#) 1 Answer
GameObject Array 1 Answer