|
In my game the player can only move between MoveNodes. On colliding with the node, it adds the node name to a List. So as I travel around I amass a large list of previously visited MoveNodes. On certain nodes a "back" button appears, which should send the player back to the 2nd most recent MoveNode in the List. How do I do this? Do I get the Length - 1 or something? Also, can I clear anything but the most recent 5 objects in the list so it doesn't get so big?
(comments are locked)
|
|
Something like this (i'm assuming your array is called nodes): We use "length-2" because nodes.length will return the length of the array BUT in a 5 node length array the elements will be in indexes 0,1,2,3, and 4. So to get at the second to last node we need to access the index that is 2 less than the length. Once you have retrieved your node just set the players transform to the same as the node trnasform. Thanks. My back button runs this code now: allPreviousLocations[0].transform.position I'll work on improving the functionality with those variables.
May 21 '11 at 04:08 PM
Stardog
(comments are locked)
|
|
You can create a List of MoveNodes, then use the List functions Add, Remove, etc. and its property Item for managing and accessing the items as you want. You can see an example here: http://forum.unity3d.com/threads/79760-How-to-use-generics-in-unity-javascript?p=510611#post510611 The reference for the List methods and properties is here: Thanks, this let me limit the size: if list.Count > 2 list.RemoveRange(0, 1)
May 21 '11 at 04:06 PM
Stardog
(comments are locked)
|
