added placementModes and mesh testing
can place varying values into grid, starting to work on rendering meshes to represent the cells
This commit is contained in:
@@ -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
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 240ade3f16cf736479449e5fca9a29e1
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2f03132b374e88b42a1e696cdfdf2a5c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user