So I’m making a script where a character follows a line that is drawn through the linerenderer. To store the “waypoint” positions, I made a vector3 array. But the problem I’m having is, when I’m editing the values of the array in a for loop, instead of editing just the last element it’s editing all of them.
Here’s the code I’m having trouble with:
public class lineDraw : MonoBehaviour {
public LineRenderer lineRender;
public Transform origin;
int numberOfPoints;
Vector3 mousePos;
public Vector3[] waypointPlace;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
waypointPlace = new Vector3[numberOfPoints];
if(Input.GetKey(KeyCode.Mouse0)) {
numberOfPoints++;
lineRender.SetVertexCount(numberOfPoints);
Vector3 mousePos = new Vector3(0,0,0);
mousePos = Input.mousePosition;
mousePos.z = 1.0f;
Vector3 worldPos = Camera.main.ScreenToWorldPoint(mousePos);
lineRender.SetPosition(numberOfPoints - 1, worldPos);
//add mouseposition to array
for (int i = 0; i < waypointPlace.Length; i++){
waypointPlace *= new Vector3 (mousePos.x,mousePos.y,mousePos.z);*
-
}*
-
}*
-
if(Input.GetKeyUp(KeyCode.Mouse0)) {*
-
lineRender.SetVertexCount(0);*
-
numberOfPoints = 0;*
-
}*
- }*
}
In this picture you can see that all the elements have the same value, and I’m wondering what I’m doing wrong
![alt text][1]
[1]: http://i.imgur.com/5r84biz.png