UI components completed

added button functionality and mesh grid to scene
This commit is contained in:
dereelatwit
2023-08-08 15:30:55 -04:00
parent 3ac2b11494
commit aec4fc6d37
15 changed files with 3511 additions and 254 deletions
@@ -0,0 +1,36 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class AgentButton : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
[SerializeField] private Image _img;
[SerializeField] private Sprite _default, _pressed;
public void OnPointerDown(PointerEventData eventData)
{
_img.sprite = _pressed;
}
public void OnPointerUp(PointerEventData eventData)
{
_img.sprite = _default;
}
public void IWasClicked()
{
Debug.Log("Placing Mode: Agent");
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 92b8a09a06c4cc14aa7b6da643da257c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -31,7 +31,7 @@ public class ClickButton : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
public void IWasClicked()
{
Debug.Log("Clicked");
Debug.Log("Playing Simulation");
}
@@ -0,0 +1,38 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class ResetButton : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
[SerializeField] private Image _img;
[SerializeField] private Sprite _default, _pressed;
[SerializeField] private AudioClip _compressClip, _uncompressClip;
[SerializeField] private AudioSource _source;
public void OnPointerDown(PointerEventData eventData)
{
_img.sprite = _pressed;
_source.PlayOneShot(_compressClip);
}
public void OnPointerUp(PointerEventData eventData)
{
_img.sprite = _default;
_source.PlayOneShot(_uncompressClip);
}
public void IWasClicked()
{
Debug.Log("Reseting World");
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d86ae41ef9dc00f4997b6539776a4b7d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,36 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class SampleButton : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
[SerializeField] private Image _img;
[SerializeField] private Sprite _default, _pressed;
public void OnPointerDown(PointerEventData eventData)
{
_img.sprite = _pressed;
}
public void OnPointerUp(PointerEventData eventData)
{
_img.sprite = _default;
}
public void IWasClicked()
{
Debug.Log("Placing Mode: Sample");
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4dbfa4cca8124c64289131b092d361e1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -29,7 +29,7 @@ public class WallsButton : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
public void IWasClicked()
{
Debug.Log("O pressed, placing Walls");
Debug.Log("Placing Mode: Obstacles");
}
@@ -0,0 +1,101 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class nMain : MonoBehaviour
{
[SerializeField] private CellMesh cellMesh;
public LogicGrid world;
char placementMode;
int placementValue;
// Start is called before the first frame update
void Start()
{
// Create world
world = new LogicGrid(32, 16, 5f, new Vector3(-76, -34));
// Set default placement to Obstacle
placementValue = 1;
placementMode = 'o';
cellMesh.SetGrid(world);
Debug.Log("Loaded. Placing Mode: Obstacle");
}
// Update is called once per frame
void Update()
{
// Change Placement Modes:
// Place Obstacle in grid
if (Input.GetKeyDown("o"))
{
Debug.Log("Placing Mode: Obstacle");
placementMode = 'o';
placementValue = 1;
}
// Place Sample in cell
if(Input.GetKeyDown("s"))
{
Debug.Log("Placing Mode: Sample");
placementMode = 's';
placementValue = 2;
}
// Place agent in cell
if (Input.GetKeyDown("a"))
{
Debug.Log("Placing Mode: Agent");
placementMode = 'a';
placementValue = 3;
}
// Reset Canvas
if (Input.GetKeyDown("r"))
{
}
// Update Cell:
// Change cell to obstacle
if (Input.GetMouseButton(0))
{
world.SetValue(CodeMonkey.Utils.UtilsClass.GetMouseWorldPosition(), placementValue);
}
// Clear cell
if (Input.GetMouseButton(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
}
public void SetModeObstacle()
{
placementValue = 1;
}
public void SetModeSample()
{
placementValue = 2;
}
public void SetModeAgent()
{
placementValue = 3;
}
public void ResetGrid()
{
world.reset();
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5a082e90c957d4b4a891735fb249074a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: