|
I'm using a list to find and store a gameobjects child transforms in. I use a list mainly because I don't want all childs of the go, only the ones taged "Detachable" and for some go's that use the script they are quite a few so would be a pain adding them in the inspector. Anyways, I now want to add the code to pick a random index from the list and add it to a new object kinda like: Transform _detach = _myArray[Random.Range(1, _myArray.Length); Is it possible to do something similar to this with a List?
(comments are locked)
|
|
Yes, you'd want something like:
i.e. Lists have "Count" instead of "Length". Also note that the lower bound on the Random Range is 0, not 1 (which should be the case in yours too). And finally, note that the upper bound on Random Range is exclusive for the integer version (different than the float version) so the maximum it would return is Count - 1. Good point on the lower bound being inclusive. I assumed the OP intended to keep the first child un-detached for whatever reason.
Mar 02 '11 at 02:52 PM
burnumd
Thanks :) ah, so basicly there's always one object in the list that can't be reached when picking by random? And thanks for quick answer btw
Mar 02 '11 at 03:03 PM
Kona
No, that's not what Molix is saying. It means that if you want the first thing in the list, you need to use index 0 (the same is true for Arrays). The description for Random.Range ( http://unity3d.com/support/documentation/ScriptReference/Random.Range.html ) talks about what it means for min and max to be inclusive or exclusive.
Mar 02 '11 at 03:14 PM
burnumd
(comments are locked)
|
|
Change Also, you should probably change your variable name from
(comments are locked)
|
