From aec4fc6d37f7e790c1deef38270caf9d71c236f4 Mon Sep 17 00:00:00 2001 From: dereelatwit <54997325+dereelatwit@users.noreply.github.com> Date: Tue, 8 Aug 2023 15:30:55 -0400 Subject: UI components completed added button functionality and mesh grid to scene --- .../Assets/UI Elements/UI/Scripts/AgentButton.cs | 36 ++++++ .../UI Elements/UI/Scripts/AgentButton.cs.meta | 11 ++ .../Assets/UI Elements/UI/Scripts/ClickButton.cs | 2 +- .../Assets/UI Elements/UI/Scripts/ResetButton.cs | 38 ++++++ .../UI Elements/UI/Scripts/ResetButton.cs.meta | 11 ++ .../Assets/UI Elements/UI/Scripts/SampleButton.cs | 36 ++++++ .../UI Elements/UI/Scripts/SampleButton.cs.meta | 11 ++ .../Assets/UI Elements/UI/Scripts/Walls Button.cs | 2 +- .../Assets/UI Elements/UI/Scripts/nMain.cs | 101 +++++++++++++++ .../Assets/UI Elements/UI/Scripts/nMain.cs.meta | 11 ++ .../UI/Sprites/fire-explode-design-free.png | Bin 0 -> 981830 bytes .../UI/Sprites/fire-explode-design-free.png.meta | 140 +++++++++++++++++++++ 12 files changed, 397 insertions(+), 2 deletions(-) create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/AgentButton.cs create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/AgentButton.cs.meta create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/ResetButton.cs create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/ResetButton.cs.meta create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/SampleButton.cs create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/SampleButton.cs.meta create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/nMain.cs create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/nMain.cs.meta create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/fire-explode-design-free.png create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/fire-explode-design-free.png.meta (limited to 'Pathfinding Visualizer/Assets/UI Elements/UI') diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/AgentButton.cs b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/AgentButton.cs new file mode 100644 index 0000000..8cd38db --- /dev/null +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/AgentButton.cs @@ -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"); + + } + +} diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/AgentButton.cs.meta b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/AgentButton.cs.meta new file mode 100644 index 0000000..559dd0f --- /dev/null +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/AgentButton.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 92b8a09a06c4cc14aa7b6da643da257c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/ClickButton.cs b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/ClickButton.cs index 5adbdeb..b7ea41f 100644 --- a/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/ClickButton.cs +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/ClickButton.cs @@ -31,7 +31,7 @@ public class ClickButton : MonoBehaviour, IPointerDownHandler, IPointerUpHandler public void IWasClicked() { - Debug.Log("Clicked"); + Debug.Log("Playing Simulation"); } diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/ResetButton.cs b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/ResetButton.cs new file mode 100644 index 0000000..8cd8c45 --- /dev/null +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/ResetButton.cs @@ -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"); + } + + +} diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/ResetButton.cs.meta b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/ResetButton.cs.meta new file mode 100644 index 0000000..fe04002 --- /dev/null +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/ResetButton.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d86ae41ef9dc00f4997b6539776a4b7d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/SampleButton.cs b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/SampleButton.cs new file mode 100644 index 0000000..3d4c10a --- /dev/null +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/SampleButton.cs @@ -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"); + + } + +} diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/SampleButton.cs.meta b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/SampleButton.cs.meta new file mode 100644 index 0000000..11f6f9e --- /dev/null +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/SampleButton.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4dbfa4cca8124c64289131b092d361e1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/Walls Button.cs b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/Walls Button.cs index 79ff80f..4fb243d 100644 --- a/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/Walls Button.cs +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/Walls Button.cs @@ -29,7 +29,7 @@ public class WallsButton : MonoBehaviour, IPointerDownHandler, IPointerUpHandler public void IWasClicked() { - Debug.Log("O pressed, placing Walls"); + Debug.Log("Placing Mode: Obstacles"); } diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/nMain.cs b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/nMain.cs new file mode 100644 index 0000000..95e936f --- /dev/null +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/nMain.cs @@ -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(); + } + +} diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/nMain.cs.meta b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/nMain.cs.meta new file mode 100644 index 0000000..fdc5213 --- /dev/null +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Scripts/nMain.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5a082e90c957d4b4a891735fb249074a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/fire-explode-design-free.png b/Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/fire-explode-design-free.png new file mode 100644 index 0000000..9af8c5e Binary files /dev/null and b/Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/fire-explode-design-free.png differ diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/fire-explode-design-free.png.meta b/Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/fire-explode-design-free.png.meta new file mode 100644 index 0000000..ed99791 --- /dev/null +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/fire-explode-design-free.png.meta @@ -0,0 +1,140 @@ +fileFormatVersion: 2 +guid: dc380e87a87e60d4ba570eddf0f162c4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: -- cgit v1.3.1-4-g156e