summaryrefslogtreecommitdiff
path: root/Pathfinding Visualizer/Assets/Scripts
diff options
context:
space:
mode:
authorSimon O'Shea <osheas1@wit.edu>2023-08-03 13:57:45 -0400
committerSimon O'Shea <osheas1@wit.edu>2023-08-03 13:57:45 -0400
commit374125ba34e0366afb062578906877cfdf229bb9 (patch)
tree91a6623cbcb2c7d9c25d8c1413959092c765279b /Pathfinding Visualizer/Assets/Scripts
parent6451c901fdad2bc084104cbd93cb8fad22a161b6 (diff)
added placementModes and mesh testing
can place varying values into grid, starting to work on rendering meshes to represent the cells
Diffstat (limited to 'Pathfinding Visualizer/Assets/Scripts')
-rw-r--r--Pathfinding Visualizer/Assets/Scripts/Main.cs70
-rw-r--r--Pathfinding Visualizer/Assets/Scripts/Main.cs.meta11
-rw-r--r--Pathfinding Visualizer/Assets/Scripts/MeshTesting.cs39
-rw-r--r--Pathfinding Visualizer/Assets/Scripts/MeshTesting.cs.meta11
4 files changed, 131 insertions, 0 deletions
diff --git a/Pathfinding Visualizer/Assets/Scripts/Main.cs b/Pathfinding Visualizer/Assets/Scripts/Main.cs
new file mode 100644
index 0000000..a4434c6
--- /dev/null
+++ b/Pathfinding Visualizer/Assets/Scripts/Main.cs
@@ -0,0 +1,70 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Main : MonoBehaviour
+{
+
+ private LogicGrid world;
+ char placementMode;
+ int placementValue;
+
+ // Start is called before the first frame update
+ void Start()
+ {
+ // Create world
+ world = new LogicGrid(5, 5, 10f, new Vector3(-100, -30));
+
+ // Set default placement to Obstacle
+ placementValue = -1;
+ placementMode = 'o';
+ Debug.Log("Loaded. Placing Mode: Obstacle");
+
+ }
+
+ // Update is called once per frame
+ void Update()
+ {
+ // Change Placement Modes:
+ // Place Agent in grid
+ // TODO change modes via UI button
+ if(Input.GetKeyDown("a"))
+ {
+ Debug.Log("Placing Mode: Agent");
+ placementMode = 'a';
+ placementValue = 2;
+ }
+ // Place Sample in grid
+ if(Input.GetKeyDown("s"))
+ {
+ Debug.Log("Placing Mode: Sample");
+ placementMode = 's';
+ placementValue = 1;
+ }
+ // Place Obstacle in grid
+ if(Input.GetKeyDown("o"))
+ {
+ Debug.Log("Placing Mode: Obstacle");
+ placementMode = 'o';
+ placementValue = -1;
+ }
+
+
+ // Update Cell:
+ // Change cell to obstacle
+ if (Input.GetMouseButtonDown(0))
+ {
+ world.SetValue(CodeMonkey.Utils.UtilsClass.GetMouseWorldPosition(), placementValue);
+ }
+ // Clear cell
+ if (Input.GetMouseButtonDown(1))
+ {
+ world.SetValue(CodeMonkey.Utils.UtilsClass.GetMouseWorldPosition(), 0);
+ }
+
+ // Make functionality for when "start" button is pressed.
+ // should call some sort of function that will take in the world
+ // and perform the selected algorithm
+
+ }
+}
diff --git a/Pathfinding Visualizer/Assets/Scripts/Main.cs.meta b/Pathfinding Visualizer/Assets/Scripts/Main.cs.meta
new file mode 100644
index 0000000..fa84d9e
--- /dev/null
+++ b/Pathfinding Visualizer/Assets/Scripts/Main.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 240ade3f16cf736479449e5fca9a29e1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Pathfinding Visualizer/Assets/Scripts/MeshTesting.cs b/Pathfinding Visualizer/Assets/Scripts/MeshTesting.cs
new file mode 100644
index 0000000..06c8090
--- /dev/null
+++ b/Pathfinding Visualizer/Assets/Scripts/MeshTesting.cs
@@ -0,0 +1,39 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class MeshTesting : MonoBehaviour
+{
+ void Start()
+ {
+
+ Debug.Log("Mesh Testing");
+
+ Mesh mesh = new Mesh();
+
+
+ // Build required data-structures for triangle mesh
+ Vector3[] vertices = new Vector3[3];
+ Vector2[] uv = new Vector2[3];
+ int[] triangles = new int[3];
+
+ // Set vertices of polygon (triangle)
+ vertices[0] = new Vector3( 0, 0);
+ vertices[1] = new Vector3( 0, 100);
+ vertices[2] = new Vector3(100, 100);
+
+ // Set order of indexes of vertices to draw polygon (v1 -> v2 -> v3 -> v1)
+ // Note: always set clockwise, otherwise mesh will be facing backwards
+ triangles[0] = 0;
+ triangles[1] = 1;
+ triangles[2] = 2;
+
+
+ mesh.vertices = vertices;
+ mesh.uv = uv;
+ mesh.triangles = triangles;
+
+ GetComponent<MeshFilter>().mesh = mesh;
+
+ }
+}
diff --git a/Pathfinding Visualizer/Assets/Scripts/MeshTesting.cs.meta b/Pathfinding Visualizer/Assets/Scripts/MeshTesting.cs.meta
new file mode 100644
index 0000000..49560ea
--- /dev/null
+++ b/Pathfinding Visualizer/Assets/Scripts/MeshTesting.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2f03132b374e88b42a1e696cdfdf2a5c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: