public void StartEverything() { Time.timeScale = 1f; //make sure this is 1! if (!traversing) { Stack <Vector3> path = BreadthFirstSearch(startPosition, endPosition, voxelChunk); if (path.Count > 0) { StartCoroutine(LerpAlongPath(path)); } } Vector3 s, e; if (XMLVoxelFileWriter.ReadStartAndEndPosition(out s, out e, "AssessmentChunk1")) { startPosition = s; print("Start = " + startPosition); endPosition = e; print("End = " + endPosition); } Stack <Vector3> path2 = Djikstras(startPosition, endPosition, voxelChunk); if (path2.Count > 0) { StartCoroutine(LerpAlongPath(path2)); } }
void Update() { if (!traversing) { if (Input.GetKeyDown(KeyCode.O)) { Stack <Vector3> path = BreadthFirstSearch(startPosition, endPosition, voxelChunk); if (path.Count > 0) { StartCoroutine(LerpAlongPath(path)); } } if (Input.GetKeyDown(KeyCode.L)) { Stack <Vector3> path = Djikstras(startPosition, endPosition, voxelChunk); if (path.Count > 0) { StartCoroutine(LerpAlongPath(path)); } } } if (Input.GetKeyDown(KeyCode.P)) { Vector3 s, e; if (XMLVoxelFileWriter.ReadStartAndEndPosition(out s, out e, "AssessmentChunk1")) { startPosition = s; print("Start = " + startPosition); endPosition = e; print("End = " + endPosition); } } }
//buttons that allow user to changing the map, start and end position or start the pathfinding********************************************************************* void OnGUI() { if (GUI.Button(new Rect(50, 50, 150, 50), "AssessmentChunk1")) { XMLVoxelFileWriter.ReadStartAndEndPosition(out startPosition, out endPosition, "AssessmentChunk1"); //get terrainArray from xml voxelChunk.terrainArray = XMLVoxelFileWriter.LoadChunkFromXMLFile(16, "AssessmentChunk1"); //draw the correct faces voxelChunk.CreateTerrain(); //Update mesh info voxelGenerator.UpdateMesh(); } if (GUI.Button(new Rect(50, 120, 150, 50), "AssessmentChunk2")) { XMLVoxelFileWriter.ReadStartAndEndPosition(out startPosition, out endPosition, "AssessmentChunk2"); //get terrainArray from xml voxelChunk.terrainArray = XMLVoxelFileWriter.LoadChunkFromXMLFile(16, "AssessmentChunk2"); //draw the correct faces voxelChunk.CreateTerrain(); //Update mesh info voxelGenerator.UpdateMesh(); } if (!traversing) { if (GUI.Button(new Rect(50, 190, 150, 50), "Start")) { Stack <Vector3> path = Dijkstra(startPosition, endPosition, voxelChunk); if (path.Count > 0) { //Debug.Log (path.Count); StartCoroutine(LerpAlongPath(path)); } } } }
// Use this for initialization void Start() { //load the second assessment start and end position by default**************************************************************************************************** XMLVoxelFileWriter.ReadStartAndEndPosition(out startPosition, out endPosition, "AssessmentChunk2"); }