From 31151bc9b6fdcd5ade2f8176c17f50f67b58e5d0 Mon Sep 17 00:00:00 2001 From: dereelatwit <54997325+dereelatwit@users.noreply.github.com> Date: Sat, 5 Aug 2023 15:16:38 -0400 Subject: [PATCH] Added settings menu + animations --- .../Assets/Scenes/Testing.unity | 765 +++++++++++++++++- .../Assets/UI Elements/UI/Animations.meta | 8 + .../UI Elements/UI/Animations/Menu.controller | 211 +++++ .../UI/Animations/Menu.controller.meta | 8 + .../UI/Animations/Show Settings.anim | 539 ++++++++++++ .../UI/Animations/Show Settings.anim.meta | 8 + .../Assets/UI Elements/UI/Sprites/Agents.png | Bin 0 -> 834 bytes .../UI Elements/UI/Sprites/Agents.png.meta | 140 ++++ .../UI Elements/UI/Sprites/Reset Button.png | Bin 29459 -> 12279 bytes .../UI/Sprites/Reset Button_Compressed.png | Bin 0 -> 12454 bytes .../Sprites/Reset Button_Compressed.png.meta | 140 ++++ .../Assets/UI Elements/UI/Sprites/Samples.png | Bin 0 -> 1688 bytes .../UI Elements/UI/Sprites/Samples.png.meta | 140 ++++ .../UI Elements/UI/Sprites/Tarodev.png.meta | 6 +- .../Assets/UI Elements/UI/Sprites/Walls.png | Bin 0 -> 968 bytes .../UI Elements/UI/Sprites/Walls.png.meta | 140 ++++ 16 files changed, 2098 insertions(+), 7 deletions(-) create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Animations.meta create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Menu.controller create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Menu.controller.meta create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Show Settings.anim create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Show Settings.anim.meta create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/Agents.png create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/Agents.png.meta create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/Reset Button_Compressed.png create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/Reset Button_Compressed.png.meta create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/Samples.png create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/Samples.png.meta create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/Walls.png create mode 100644 Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/Walls.png.meta diff --git a/Pathfinding Visualizer/Assets/Scenes/Testing.unity b/Pathfinding Visualizer/Assets/Scenes/Testing.unity index d9c93ff..90265b4 100644 --- a/Pathfinding Visualizer/Assets/Scenes/Testing.unity +++ b/Pathfinding Visualizer/Assets/Scenes/Testing.unity @@ -257,6 +257,292 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 227858184} m_CullTransparentMesh: 1 +--- !u!1 &392904971 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 392904972} + - component: {fileID: 392904974} + - component: {fileID: 392904973} + m_Layer: 5 + m_Name: Walls + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &392904972 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 392904971} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 408861379} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -109.62489, y: 98.936676} + m_SizeDelta: {x: 106.7502, y: 46.1266} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &392904973 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 392904971} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 9584e88b31af7104cb54aaa1137503a1, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &392904974 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 392904971} + m_CullTransparentMesh: 1 +--- !u!1 &408861378 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 408861379} + - component: {fileID: 408861380} + m_Layer: 5 + m_Name: Menu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &408861379 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 408861378} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1584375508} + - {fileID: 392904972} + - {fileID: 504177783} + - {fileID: 762819649} + m_Father: {fileID: 1968387423} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 351.8252} + m_Pivot: {x: 0, y: 1} +--- !u!95 &408861380 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 408861378} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 7da8c7833a5a3ae4eb915c74b038fd77, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!1 &504177782 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 504177783} + - component: {fileID: 504177785} + - component: {fileID: 504177784} + m_Layer: 5 + m_Name: Samples + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &504177783 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 504177782} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 408861379} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -109.62, y: 52.81} + m_SizeDelta: {x: 106.7502, y: 46.1266} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &504177784 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 504177782} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 4183246d62bef35479c1951b1720ee9b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &504177785 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 504177782} + m_CullTransparentMesh: 1 +--- !u!1 &762819648 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 762819649} + - component: {fileID: 762819651} + - component: {fileID: 762819650} + m_Layer: 5 + m_Name: Agents + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &762819649 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 762819648} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 408861379} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -109.62, y: 6.6834} + m_SizeDelta: {x: 106.7502, y: 46.1266} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &762819650 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 762819648} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 9f7756e96ede95342b158c35a71dce7b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &762819651 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 762819648} + m_CullTransparentMesh: 1 --- !u!1 &936845168 GameObject: m_ObjectHideFlags: 0 @@ -291,8 +577,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0.0000076293945, y: 0} - m_SizeDelta: {x: 1029.8004, y: 657.4904} + m_AnchoredPosition: {x: -0.000025972407, y: 9.2765} + m_SizeDelta: {x: 1315.4545, y: 738.07} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &936845170 MonoBehaviour: @@ -347,7 +633,7 @@ GameObject: - component: {fileID: 1119505060} - component: {fileID: 1119505059} m_Layer: 5 - m_Name: Image + m_Name: PlayButton m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -369,7 +655,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: -177} + m_AnchoredPosition: {x: -115, y: -178} m_SizeDelta: {x: 133.4258, y: 73.3267} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1119505056 @@ -648,6 +934,138 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1584375507 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1584375508} + - component: {fileID: 1584375510} + - component: {fileID: 1584375509} + - component: {fileID: 1584375511} + m_Layer: 5 + m_Name: Open + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1584375508 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1584375507} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 408861379} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -18, y: 145} + m_SizeDelta: {x: 47.8366, y: 47.8351} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1584375509 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1584375507} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: adc10fde6ddc8df4690687226f9cb308, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1584375510 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1584375507} + m_CullTransparentMesh: 1 +--- !u!114 &1584375511 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1584375507} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1584375509} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 408861380} + m_TargetAssemblyTypeName: UnityEngine.Animator, UnityEngine + m_MethodName: SetTrigger + m_Mode: 5 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: Show + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1884231106 GameObject: m_ObjectHideFlags: 0 @@ -740,6 +1158,94 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1945056667 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1945056668} + - component: {fileID: 1945056670} + - component: {fileID: 1945056669} + - component: {fileID: 1945056671} + m_Layer: 5 + m_Name: ScrollingImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1945056668 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1945056667} + m_LocalRotation: {x: -0, y: -0, z: -0.27446938, w: 0.9615959} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1968387423} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: -31.861} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.000026139254, y: 0} + m_SizeDelta: {x: 911.0979, y: 911.1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1945056669 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1945056667} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.9744808, b: 0.91886795, a: 0.3137255} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 2800000, guid: b0c56b7007b48ed489bab84a74fec771, type: 3} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 15 + height: 15 +--- !u!222 &1945056670 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1945056667} + m_CullTransparentMesh: 1 +--- !u!114 &1945056671 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1945056667} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2514f529744ccc94cab839384c88071a, type: 3} + m_Name: + m_EditorClassIdentifier: + _img: {fileID: 1945056669} + _x: 0.2 + _y: 0.2 --- !u!1 &1968387419 GameObject: m_ObjectHideFlags: 0 @@ -834,9 +1340,12 @@ RectTransform: m_LocalScale: {x: 0, y: 0, z: 0} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 1945056668} - {fileID: 936845169} - {fileID: 227858185} - {fileID: 1119505055} + - {fileID: 2091057173} + - {fileID: 408861379} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -844,6 +1353,254 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!1 &2091057172 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2091057173} + - component: {fileID: 2091057178} + - component: {fileID: 2091057177} + - component: {fileID: 2091057176} + - component: {fileID: 2091057175} + - component: {fileID: 2091057174} + m_Layer: 5 + m_Name: Reset + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2091057173 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2091057172} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1968387423} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 117, y: 49.667} + m_SizeDelta: {x: 139.4842, y: 78.468} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2091057174 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2091057172} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2091057177} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2091057176} + m_TargetAssemblyTypeName: ClickButton, Assembly-CSharp + m_MethodName: IWasClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!82 &2091057175 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2091057172} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!114 &2091057176 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2091057172} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 136a86ba5748a2047b9d38764001c9f8, type: 3} + m_Name: + m_EditorClassIdentifier: + _img: {fileID: 2091057177} + _default: {fileID: 21300000, guid: 2fe31f216a804d74abe3122d14ff081e, type: 3} + _pressed: {fileID: 21300000, guid: 6904412e1440f2c4685efb325e2667b1, type: 3} + _compressClip: {fileID: 8300000, guid: da50785b5dbcab544815db0295e83b30, type: 3} + _uncompressClip: {fileID: 8300000, guid: bd4c3c6a5e50e144d8ef38bd3e966fdb, type: 3} + _source: {fileID: 2091057175} +--- !u!114 &2091057177 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2091057172} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2fe31f216a804d74abe3122d14ff081e, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2091057178 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2091057172} + m_CullTransparentMesh: 1 --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Animations.meta b/Pathfinding Visualizer/Assets/UI Elements/UI/Animations.meta new file mode 100644 index 0000000..5a77dd7 --- /dev/null +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Animations.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5a555c041371bc4408f19f3feac147b2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Menu.controller b/Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Menu.controller new file mode 100644 index 0000000..84cb9c6 --- /dev/null +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Menu.controller @@ -0,0 +1,211 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-8162484815273082255 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Hide Settings + m_Speed: -1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 278005405367364732} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 6cb1ccc11de1da94a935c2f0016f69fb, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &-5354425812542651864 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Show + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -8162484815273082255} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.5 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Menu + serializedVersion: 5 + m_AnimatorParameters: + - m_Name: Show + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 6732883441773946504} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1101 &278005405367364732 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 373599537508953770} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.5 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &373599537508953770 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Start + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 8023529399908650784} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 0} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1107 &6732883441773946504 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 8692950146339746951} + m_Position: {x: 400, y: 20, z: 0} + - serializedVersion: 1 + m_State: {fileID: 373599537508953770} + m_Position: {x: 330, y: 150, z: 0} + - serializedVersion: 1 + m_State: {fileID: -8162484815273082255} + m_Position: {x: 230, y: -140, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 373599537508953770} +--- !u!1101 &8023529399908650784 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Show + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 8692950146339746951} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &8692950146339746951 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Show Settings + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: -5354425812542651864} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 6cb1ccc11de1da94a935c2f0016f69fb, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Menu.controller.meta b/Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Menu.controller.meta new file mode 100644 index 0000000..f9735f3 --- /dev/null +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Menu.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7da8c7833a5a3ae4eb915c74b038fd77 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Show Settings.anim b/Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Show Settings.anim new file mode 100644 index 0000000..ffd35ac --- /dev/null +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Show Settings.anim @@ -0,0 +1,539 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Show Settings + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -109.62489 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.41666666 + value: 26.3 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 3.3751 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.x + path: Walls + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 98.936676 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.41666666 + value: 98.937 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.y + path: Walls + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: -109.62 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.41666666 + value: 26.3 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 3.3751 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.x + path: Samples + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 52.81 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.41666666 + value: 52.81 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.y + path: Samples + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.16666667 + value: -109.62 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.43333334 + value: 23.916 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 3.3750992 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.x + path: Agents + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 6.6834 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.43333334 + value: 6.6834 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 6.6833954 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.y + path: Agents + classID: 224 + script: {fileID: 0} + flags: 0 + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 2382512841 + attribute: 1460864421 + script: {fileID: 0} + typeID: 224 + customType: 28 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 2382512841 + attribute: 538195251 + script: {fileID: 0} + typeID: 224 + customType: 28 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 3593432811 + attribute: 1460864421 + script: {fileID: 0} + typeID: 224 + customType: 28 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 2453319256 + attribute: 1460864421 + script: {fileID: 0} + typeID: 224 + customType: 28 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 2453319256 + attribute: 538195251 + script: {fileID: 0} + typeID: 224 + customType: 28 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 3593432811 + attribute: 538195251 + script: {fileID: 0} + typeID: 224 + customType: 28 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.5 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -109.62489 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.41666666 + value: 26.3 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 3.3751 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.x + path: Walls + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 98.936676 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.41666666 + value: 98.937 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.y + path: Walls + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: -109.62 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.41666666 + value: 26.3 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 3.3751 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.x + path: Samples + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 52.81 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.41666666 + value: 52.81 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.y + path: Samples + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.16666667 + value: -109.62 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.43333334 + value: 23.916 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 3.3750992 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.x + path: Agents + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 6.6834 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.43333334 + value: 6.6834 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 6.6833954 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_AnchoredPosition.y + path: Agents + classID: 224 + script: {fileID: 0} + flags: 0 + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Show Settings.anim.meta b/Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Show Settings.anim.meta new file mode 100644 index 0000000..9e63911 --- /dev/null +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Animations/Show Settings.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6cb1ccc11de1da94a935c2f0016f69fb +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/Agents.png b/Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/Agents.png new file mode 100644 index 0000000000000000000000000000000000000000..2b458ce429912fff4c0315df94fdd609dee8f7fc GIT binary patch literal 834 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 literal 0 HcmV?d00001 diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/Reset Button_Compressed.png.meta b/Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/Reset Button_Compressed.png.meta new file mode 100644 index 0000000..24ba772 --- /dev/null +++ b/Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/Reset Button_Compressed.png.meta @@ -0,0 +1,140 @@ +fileFormatVersion: 2 +guid: 6904412e1440f2c4685efb325e2667b1 +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: diff --git a/Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/Samples.png b/Pathfinding Visualizer/Assets/UI Elements/UI/Sprites/Samples.png new file mode 100644 index 0000000000000000000000000000000000000000..d21e2ff67492d675a27633493bb31903df007a50 GIT binary patch literal 1688 zcmV;J250$+P)|eU0Hj&o-G0e z05=LgZ3f@MTR+xv)hrmD3vD-sx7x0UPjexx)?QC-2p5jJk^PI;4@tBs zysO2#Uk=Og_)Hk4JWCe12#2o+MqYCR1uR9)xJ&!k~5G*;_O)X@*(SiXr5~}z(2FR}$coUef z!XM-T^UO5*tOg+P9|^1j#8PXiz96b%)9N6EHc_q?2n}F^-AGw1{Lc$@cIZs8n3|2v5OE;Qiuv4*B}S+=&U z$d}EsWIn!i%KZ@SD-Yz`+wjZX`AI)C`Np=T3Cli=a_xW96)A9_JRinzsmsriPlF?^an6-HWkhcPvHR+|s#<~PCIb(nX?27bCaV0B7578tCG zKHI$>zHjrCC|QnQ&9rGFx&D{w;ZP{b8C6xo>`$G0PYzjrQw2M9(|TI!4Zv$%izgay zUE>X|_WU2L2)p~CC^AJI$rWk|k6@KYy894#V=wIq?gg$=kL0Ii;no-M&IfdK*(L+O zo8XZE(eM@HKkF;-ebpPBZSYYKGNr zvh9u%EK5AHGNU4BGaI9-If-m!Z@h4?KV==WfW^zn0={{5T|0A!P{2E?*T>DCzHq+f!z+v0wz6f{i3ZpUaezE_G3DyHmA;nk z@gZCus2HD~r%oMzMi-Aq2?k_%9f=gVEzgq{h})02%*Vr{P7vfRP)X0XSt1j$@Rkxd zig46O?i2VX4TQP&yz~de@lk{|iaCNgV5Bx#) z`XhC*p7CWg$^Gw%dRou;GK!QR`0M{xdoet=6t#RQyaqfhs`Pcpy}!S`e>LA0004WQchCxbOvT{>4HpLI){l$lL?^GAq2hB#opkcw%X~g>Kp;+E0Z$~w2PBDbQlP}mP$B|s%r!cnI4#6|#MN^^YL^nO zN1|AH#=%rG{*ZvUDd-2}R=8}ct%-GQUku3=a9Zb;9Ele|h}fsUPn?m0TMAu=d&9W()~CKSly7Jl8R!|Kfn`w|FrdZ&-W*Z3+KfwWOx`JtM|+%+=c(~qsLZdM8w><`Z1Lf%U=r$LPigwr zDtk+NENgNc+|-PDWjL6cnZci&QYw=f(io0NVd3n|v@u(n6nWGP1ZsLIJ{OFZLYb66 zmIw4~6W4;hGo zfyi#59$yt|Nj$3VE3y7i`cmsA4iU_a5xx#kRGl zwjmu!%o$_FXul!IcDzn2d^0m@8~UuEPsKYi3aD4>`OK39C1X?|vfU8#-DLL8QsoZp z0w3$v0bwU>6{sBNd45