From 52bd7ef5857abf304e37e7e81a1992ac4dd9abb8 Mon Sep 17 00:00:00 2001 From: AlexanderT Date: Wed, 10 Sep 2025 10:53:04 +0200 Subject: [PATCH] Installed Surge, fixed compile errors, moved a bunch of external stuff into folder --- Assets/External/Pixelplacement.meta | 8 + Assets/External/Pixelplacement/Surge.meta | 8 + .../Pixelplacement/Surge/Chooser.meta | 9 + .../Pixelplacement/Surge/Chooser/Chooser.cs | 412 ++++++++ .../Surge/Chooser/Chooser.cs.meta | 20 + .../Pixelplacement/Surge/Chooser/Editor.meta | 9 + .../Surge/Chooser/Editor/ChooserEditor.cs | 106 ++ .../Chooser/Editor/ChooserEditor.cs.meta | 19 + .../Surge/Chooser/Interfaces.meta | 9 + .../Surge/Chooser/Interfaces/IChooser.cs | 10 + .../Surge/Chooser/Interfaces/IChooser.cs.meta | 19 + .../Pixelplacement/Surge/ColliderButton.meta | 9 + .../Surge/ColliderButton/ColliderButton.cs | 608 +++++++++++ .../ColliderButton/ColliderButton.cs.meta | 20 + .../Surge/ColliderButton/Editor.meta | 9 + .../Editor/ColliderButtonEditor.cs | 127 +++ .../Editor/ColliderButtonEditor.cs.meta | 19 + .../Surge/ColliderButton/Utilities.meta | 9 + .../Utilities/ColliderButtonInteraction.cs | 29 + .../ColliderButtonInteraction.cs.meta | 19 + .../Utilities/ColliderButtonSelector.cs | 84 ++ .../Utilities/ColliderButtonSelector.cs.meta | 18 + .../Pixelplacement/Surge/DisplayObject.meta | 9 + .../Surge/DisplayObject/DisplayObject.cs | 113 ++ .../Surge/DisplayObject/DisplayObject.cs.meta | 19 + .../Surge/DisplayObject/Editor.meta | 9 + .../Editor/DisplayObjectEditor.cs | 82 ++ .../Editor/DisplayObjectEditor.cs.meta | 19 + .../External/Pixelplacement/Surge/Editor.meta | 9 + .../Editor/InitializationRequirements.cs | 60 ++ .../Editor/InitializationRequirements.cs.meta | 19 + .../External/Pixelplacement/Surge/Events.meta | 10 + .../Pixelplacement/Surge/Events/Events.cs | 22 + .../Surge/Events/Events.cs.meta | 20 + .../External/Pixelplacement/Surge/License.txt | 10 + .../Pixelplacement/Surge/License.txt.meta | 15 + .../External/Pixelplacement/Surge/ReadMe.txt | 25 + .../Pixelplacement/Surge/ReadMe.txt.meta | 9 + .../Pixelplacement/Surge/Singleton.meta | 9 + .../Surge/Singleton/Singleton.cs | 78 ++ .../Surge/Singleton/Singleton.cs.meta | 19 + .../External/Pixelplacement/Surge/Spline.meta | 9 + .../Pixelplacement/Surge/Spline/Art.meta | 9 + .../Surge/Spline/Art/Materials.meta | 9 + .../Surge/Spline/Art/Materials/Node.mat | 127 +++ .../Surge/Spline/Art/Materials/Node.mat.meta | 15 + .../Surge/Spline/Art/Models.meta | 9 + .../Surge/Spline/Art/Models/Node.meta | 9 + .../Spline/Art/Models/Node/Materials.meta | 9 + .../Spline/Art/Models/Node/Materials/Node.mat | 127 +++ .../Art/Models/Node/Materials/Node.mat.meta | 15 + .../Surge/Spline/Art/Models/Node/Node.fbx | Bin 0 -> 23344 bytes .../Spline/Art/Models/Node/Node.fbx.meta | 84 ++ .../Surge/Spline/Art/Models/ScaleNode.meta | 9 + .../Art/Models/ScaleNode/Materials.meta | 9 + .../Models/ScaleNode/Materials/ScaleNode.mat | 127 +++ .../ScaleNode/Materials/ScaleNode.mat.meta | 15 + .../Spline/Art/Models/ScaleNode/ScaleNode.fbx | Bin 0 -> 25920 bytes .../Art/Models/ScaleNode/ScaleNode.fbx.meta | 87 ++ .../Surge/Spline/Art/Shaders.meta | 9 + .../Surge/Spline/Art/Shaders/Invisible.shader | 51 + .../Spline/Art/Shaders/Invisible.shader.meta | 16 + .../Pixelplacement/Surge/Spline/Editor.meta | 9 + .../Surge/Spline/Editor/SplineAnchorEditor.cs | 38 + .../Spline/Editor/SplineAnchorEditor.cs.meta | 19 + .../Surge/Spline/Editor/SplineEditor.cs | 136 +++ .../Surge/Spline/Editor/SplineEditor.cs.meta | 19 + .../Spline/Editor/SplineTangentEditor.cs | 38 + .../Spline/Editor/SplineTangentEditor.cs.meta | 19 + .../Pixelplacement/Surge/Spline/Objects.meta | 9 + .../Surge/Spline/Objects/BezierCurves.cs | 105 ++ .../Surge/Spline/Objects/BezierCurves.cs.meta | 19 + .../Surge/Spline/Objects/CurveDetail.cs | 29 + .../Surge/Spline/Objects/CurveDetail.cs.meta | 19 + .../Surge/Spline/Objects/Spline.cs | 527 ++++++++++ .../Surge/Spline/Objects/Spline.cs.meta | 19 + .../Surge/Spline/Objects/SplineAnchor.cs | 268 +++++ .../Surge/Spline/Objects/SplineAnchor.cs.meta | 19 + .../Surge/Spline/Objects/SplineFollower.cs | 65 ++ .../Spline/Objects/SplineFollower.cs.meta | 19 + .../Surge/Spline/Objects/SplineTangent.cs | 19 + .../Spline/Objects/SplineTangent.cs.meta | 19 + .../Surge/Spline/Resources.meta | 9 + .../Surge/Spline/Resources/Anchor.prefab | 299 ++++++ .../Surge/Spline/Resources/Anchor.prefab.meta | 15 + .../Surge/Spline/Resources/SplineRenderer.mat | 133 +++ .../Spline/Resources/SplineRenderer.mat.meta | 15 + .../Surge/Spline/Utilities.meta | 9 + .../SplineControlledParticleSystem.cs | 96 ++ .../SplineControlledParticleSystem.cs.meta | 19 + .../Surge/Spline/Utilities/SplineRenderer.cs | 122 +++ .../Spline/Utilities/SplineRenderer.cs.meta | 19 + .../Pixelplacement/Surge/StateMachine.meta | 9 + .../Surge/StateMachine/Editor.meta | 9 + .../Surge/StateMachine/Editor/StateEditor.cs | 82 ++ .../StateMachine/Editor/StateEditor.cs.meta | 19 + .../StateMachine/Editor/StateMachineEditor.cs | 136 +++ .../Editor/StateMachineEditor.cs.meta | 19 + .../Surge/StateMachine/State.cs | 125 +++ .../Surge/StateMachine/State.cs.meta | 19 + .../Surge/StateMachine/StateMachine.cs | 289 ++++++ .../Surge/StateMachine/StateMachine.cs.meta | 19 + .../External/Pixelplacement/Surge/Tween.meta | 8 + .../Pixelplacement/Surge/Tween/Helpers.meta | 9 + .../Surge/Tween/Helpers/TweenBase.cs | 273 +++++ .../Surge/Tween/Helpers/TweenBase.cs.meta | 19 + .../Surge/Tween/Helpers/TweenEngine.cs | 39 + .../Surge/Tween/Helpers/TweenEngine.cs.meta | 19 + .../Surge/Tween/Helpers/TweenUtilities.cs | 123 +++ .../Tween/Helpers/TweenUtilities.cs.meta | 19 + .../Pixelplacement/Surge/Tween/Tween.cs | 978 ++++++++++++++++++ .../Pixelplacement/Surge/Tween/Tween.cs.meta | 19 + .../Surge/Tween/TweenActions.meta | 9 + .../Tween/TweenActions/AnchoredPosition.cs | 63 ++ .../TweenActions/AnchoredPosition.cs.meta | 19 + .../TweenActions/CameraBackgroundColor.cs | 63 ++ .../CameraBackgroundColor.cs.meta | 18 + .../Tween/TweenActions/CanvasGroupAlpha.cs | 63 ++ .../TweenActions/CanvasGroupAlpha.cs.meta | 19 + .../Surge/Tween/TweenActions/FieldOfView.cs | 62 ++ .../Tween/TweenActions/FieldOfView.cs.meta | 19 + .../Surge/Tween/TweenActions/GraphicColor.cs | 62 ++ .../Tween/TweenActions/GraphicColor.cs.meta | 19 + .../Surge/Tween/TweenActions/ImageColor.cs | 63 ++ .../Tween/TweenActions/ImageColor.cs.meta | 19 + .../Surge/Tween/TweenActions/LightColor.cs | 62 ++ .../Tween/TweenActions/LightColor.cs.meta | 19 + .../Tween/TweenActions/LightIntensity.cs | 62 ++ .../Tween/TweenActions/LightIntensity.cs.meta | 19 + .../Surge/Tween/TweenActions/LightRange.cs | 62 ++ .../Tween/TweenActions/LightRange.cs.meta | 19 + .../Surge/Tween/TweenActions/LocalPosition.cs | 62 ++ .../Tween/TweenActions/LocalPosition.cs.meta | 19 + .../Surge/Tween/TweenActions/LocalRotation.cs | 63 ++ .../Tween/TweenActions/LocalRotation.cs.meta | 19 + .../Surge/Tween/TweenActions/LocalScale.cs | 62 ++ .../Tween/TweenActions/LocalScale.cs.meta | 19 + .../Surge/Tween/TweenActions/PanStereo.cs | 62 ++ .../Tween/TweenActions/PanStereo.cs.meta | 19 + .../Surge/Tween/TweenActions/Pitch.cs | 62 ++ .../Surge/Tween/TweenActions/Pitch.cs.meta | 19 + .../Surge/Tween/TweenActions/Position.cs | 62 ++ .../Surge/Tween/TweenActions/Position.cs.meta | 19 + .../Surge/Tween/TweenActions/RawImageColor.cs | 63 ++ .../Tween/TweenActions/RawImageColor.cs.meta | 19 + .../Surge/Tween/TweenActions/Rotate.cs | 70 ++ .../Surge/Tween/TweenActions/Rotate.cs.meta | 19 + .../Surge/Tween/TweenActions/Rotation.cs | 62 ++ .../Surge/Tween/TweenActions/Rotation.cs.meta | 19 + .../Surge/Tween/TweenActions/ShaderColor.cs | 64 ++ .../Tween/TweenActions/ShaderColor.cs.meta | 19 + .../Surge/Tween/TweenActions/ShaderFloat.cs | 64 ++ .../Tween/TweenActions/ShaderFloat.cs.meta | 19 + .../Surge/Tween/TweenActions/ShaderInt.cs | 64 ++ .../Tween/TweenActions/ShaderInt.cs.meta | 19 + .../Surge/Tween/TweenActions/ShaderVector.cs | 64 ++ .../Tween/TweenActions/ShaderVector.cs.meta | 19 + .../Surge/Tween/TweenActions/ShakePosition.cs | 72 ++ .../Tween/TweenActions/ShakePosition.cs.meta | 19 + .../Surge/Tween/TweenActions/Size.cs | 63 ++ .../Surge/Tween/TweenActions/Size.cs.meta | 19 + .../Tween/TweenActions/SplinePercentage.cs | 82 ++ .../TweenActions/SplinePercentage.cs.meta | 19 + .../Tween/TweenActions/SpriteRendererColor.cs | 62 ++ .../TweenActions/SpriteRendererColor.cs.meta | 19 + .../Surge/Tween/TweenActions/TextColor.cs | 63 ++ .../Tween/TweenActions/TextColor.cs.meta | 19 + .../Surge/Tween/TweenActions/TextMeshColor.cs | 62 ++ .../Tween/TweenActions/TextMeshColor.cs.meta | 19 + .../Surge/Tween/TweenActions/ValueColor.cs | 60 ++ .../Tween/TweenActions/ValueColor.cs.meta | 19 + .../Surge/Tween/TweenActions/ValueFloat.cs | 60 ++ .../Tween/TweenActions/ValueFloat.cs.meta | 19 + .../Surge/Tween/TweenActions/ValueInt.cs | 60 ++ .../Surge/Tween/TweenActions/ValueInt.cs.meta | 19 + .../Surge/Tween/TweenActions/ValueRect.cs | 60 ++ .../Tween/TweenActions/ValueRect.cs.meta | 19 + .../Surge/Tween/TweenActions/ValueVector2.cs | 60 ++ .../Tween/TweenActions/ValueVector2.cs.meta | 19 + .../Surge/Tween/TweenActions/ValueVector3.cs | 60 ++ .../Tween/TweenActions/ValueVector3.cs.meta | 19 + .../Surge/Tween/TweenActions/ValueVector4.cs | 60 ++ .../Tween/TweenActions/ValueVector4.cs.meta | 19 + .../Surge/Tween/TweenActions/Volume.cs | 62 ++ .../Surge/Tween/TweenActions/Volume.cs.meta | 19 + .../Pixelplacement/Surge/Utilities.meta | 9 + .../Surge/Utilities/EditorUtilities.cs | 29 + .../Surge/Utilities/EditorUtilities.cs.meta | 19 + .../Surge/Utilities/Initialization.cs | 94 ++ .../Surge/Utilities/Initialization.cs.meta | 19 + .../Surge/Utilities/LayerMaskHelper.cs | 56 + .../Surge/Utilities/LayerMaskHelper.cs.meta | 18 + .../Pixelplacement/Surge/Utilities/Math.cs | 95 ++ .../Surge/Utilities/Math.cs.meta | 19 + Assets/{ => External}/Plugins.meta | 0 .../{ => External}/Plugins/TutorialInfo.meta | 0 .../Plugins/TutorialInfo/Icons.meta | 0 .../Plugins/TutorialInfo/Icons/Help_Icon.png | Bin .../TutorialInfo/Icons/Help_Icon.png.meta | 0 .../Plugins/TutorialInfo/Icons/Mobile 2D.png | Bin .../TutorialInfo/Icons/Mobile 2D.png.meta | 0 .../Plugins/TutorialInfo/Layout.wlt | 0 .../Plugins/TutorialInfo/Layout.wlt.meta | 0 .../Plugins/TutorialInfo/Scripts.meta | 0 .../Plugins/TutorialInfo/Scripts/Editor.meta | 0 .../Scripts/Editor/ReadmeEditor.cs | 2 +- .../Scripts/Editor/ReadmeEditor.cs.meta | 0 .../Plugins/TutorialInfo/Scripts/Readme.cs | 0 .../TutorialInfo/Scripts/Readme.cs.meta | 0 .../Plugins/codeandweb.com.meta | 0 .../Plugins/codeandweb.com/Editor.meta | 0 .../Editor/SettingsTexturePackerImporter.txt | 6 +- .../SettingsTexturePackerImporter.txt.meta | 0 .../Editor/SpritesheetImporter.cs | 0 .../Editor/SpritesheetImporter.cs.meta | 0 .../Editor/TexturePackerImporter.dll | Bin .../Editor/TexturePackerImporter.dll.meta | 0 .../Editor/UIImageSetSizeAndPivot.cs | 0 .../Editor/UIImageSetSizeAndPivot.cs.meta | 0 .../Plugins/codeandweb.com/Example.meta | 0 .../codeandweb.com/Example/Normals.sip | Bin .../codeandweb.com/Example/Normals.sip.meta | 0 .../codeandweb.com/Example/SpriteSheet.meta | 0 .../codeandweb.com/Example/SpriteSheet.tps | 0 .../Example/SpriteSheet.tps.meta | 0 .../Example/SpriteSheet/sprites.mat | 0 .../Example/SpriteSheet/sprites.mat.meta | 0 .../Example/SpriteSheet/sprites.png | Bin .../Example/SpriteSheet/sprites.png.meta | 0 .../Example/SpriteSheet/sprites.tpsheet | 0 .../Example/SpriteSheet/sprites.tpsheet.meta | 0 .../Example/SpriteSheet/sprites_n.png | Bin .../Example/SpriteSheet/sprites_n.png.meta | 0 .../codeandweb.com/Example/Sprites.meta | 0 .../Example/Sprites/capguy.meta | 0 .../Example/Sprites/capguy/turn.meta | 0 .../Example/Sprites/capguy/turn/0001.png | Bin .../Example/Sprites/capguy/turn/0001.png.meta | 0 .../Example/Sprites/capguy/turn/0001_n.png | Bin .../Sprites/capguy/turn/0001_n.png.meta | 0 .../Example/Sprites/capguy/turn/0002.png | Bin .../Example/Sprites/capguy/turn/0002.png.meta | 0 .../Example/Sprites/capguy/turn/0002_n.png | Bin .../Sprites/capguy/turn/0002_n.png.meta | 0 .../Example/Sprites/capguy/turn/0003.png | Bin .../Example/Sprites/capguy/turn/0003.png.meta | 0 .../Example/Sprites/capguy/turn/0003_n.png | Bin .../Sprites/capguy/turn/0003_n.png.meta | 0 .../Example/Sprites/capguy/turn/0004.png | Bin .../Example/Sprites/capguy/turn/0004.png.meta | 0 .../Example/Sprites/capguy/turn/0004_n.png | Bin .../Sprites/capguy/turn/0004_n.png.meta | 0 .../Example/Sprites/capguy/turn/0005.png | Bin .../Example/Sprites/capguy/turn/0005.png.meta | 0 .../Example/Sprites/capguy/turn/0005_n.png | Bin .../Sprites/capguy/turn/0005_n.png.meta | 0 .../Example/Sprites/capguy/turn/0006.png | Bin .../Example/Sprites/capguy/turn/0006.png.meta | 0 .../Example/Sprites/capguy/turn/0006_n.png | Bin .../Sprites/capguy/turn/0006_n.png.meta | 0 .../Example/Sprites/capguy/turn/0007.png | Bin .../Example/Sprites/capguy/turn/0007.png.meta | 0 .../Example/Sprites/capguy/turn/0007_n.png | Bin .../Sprites/capguy/turn/0007_n.png.meta | 0 .../Example/Sprites/capguy/turn/0008.png | Bin .../Example/Sprites/capguy/turn/0008.png.meta | 0 .../Example/Sprites/capguy/turn/0008_n.png | Bin .../Sprites/capguy/turn/0008_n.png.meta | 0 .../Example/Sprites/capguy/turn/0009.png | Bin .../Example/Sprites/capguy/turn/0009.png.meta | 0 .../Example/Sprites/capguy/turn/0009_n.png | Bin .../Sprites/capguy/turn/0009_n.png.meta | 0 .../Example/Sprites/capguy/turn/0010.png | Bin .../Example/Sprites/capguy/turn/0010.png.meta | 0 .../Example/Sprites/capguy/turn/0010_n.png | Bin .../Sprites/capguy/turn/0010_n.png.meta | 0 .../Example/Sprites/capguy/turn/0011.png | Bin .../Example/Sprites/capguy/turn/0011.png.meta | 0 .../Example/Sprites/capguy/turn/0011_n.png | Bin .../Sprites/capguy/turn/0011_n.png.meta | 0 .../Example/Sprites/capguy/turn/0012.png | Bin .../Example/Sprites/capguy/turn/0012.png.meta | 0 .../Example/Sprites/capguy/turn/0012_n.png | Bin .../Sprites/capguy/turn/0012_n.png.meta | 0 .../Example/Sprites/capguy/walk.meta | 0 .../Example/Sprites/capguy/walk/0001.png | Bin .../Example/Sprites/capguy/walk/0001.png.meta | 0 .../Example/Sprites/capguy/walk/0001_n.png | Bin .../Sprites/capguy/walk/0001_n.png.meta | 0 .../Example/Sprites/capguy/walk/0002.png | Bin .../Example/Sprites/capguy/walk/0002.png.meta | 0 .../Example/Sprites/capguy/walk/0002_n.png | Bin .../Sprites/capguy/walk/0002_n.png.meta | 0 .../Example/Sprites/capguy/walk/0003.png | Bin .../Example/Sprites/capguy/walk/0003.png.meta | 0 .../Example/Sprites/capguy/walk/0003_n.png | Bin .../Sprites/capguy/walk/0003_n.png.meta | 0 .../Example/Sprites/capguy/walk/0004.png | Bin .../Example/Sprites/capguy/walk/0004.png.meta | 0 .../Example/Sprites/capguy/walk/0004_n.png | Bin .../Sprites/capguy/walk/0004_n.png.meta | 0 .../Example/Sprites/capguy/walk/0005.png | Bin .../Example/Sprites/capguy/walk/0005.png.meta | 0 .../Example/Sprites/capguy/walk/0005_n.png | Bin .../Sprites/capguy/walk/0005_n.png.meta | 0 .../Example/Sprites/capguy/walk/0006.png | Bin .../Example/Sprites/capguy/walk/0006.png.meta | 0 .../Example/Sprites/capguy/walk/0006_n.png | Bin .../Sprites/capguy/walk/0006_n.png.meta | 0 .../Example/Sprites/capguy/walk/0007.png | Bin .../Example/Sprites/capguy/walk/0007.png.meta | 0 .../Example/Sprites/capguy/walk/0007_n.png | Bin .../Sprites/capguy/walk/0007_n.png.meta | 0 .../Example/Sprites/capguy/walk/0008.png | Bin .../Example/Sprites/capguy/walk/0008.png.meta | 0 .../Example/Sprites/capguy/walk/0008_n.png | Bin .../Sprites/capguy/walk/0008_n.png.meta | 0 .../Example/Sprites/capguy/walk/0009.png | Bin .../Example/Sprites/capguy/walk/0009.png.meta | 0 .../Example/Sprites/capguy/walk/0009_n.png | Bin .../Sprites/capguy/walk/0009_n.png.meta | 0 .../Example/Sprites/capguy/walk/0010.png | Bin .../Example/Sprites/capguy/walk/0010.png.meta | 0 .../Example/Sprites/capguy/walk/0010_n.png | Bin .../Sprites/capguy/walk/0010_n.png.meta | 0 .../Example/Sprites/capguy/walk/0011.png | Bin .../Example/Sprites/capguy/walk/0011.png.meta | 0 .../Example/Sprites/capguy/walk/0011_n.png | Bin .../Sprites/capguy/walk/0011_n.png.meta | 0 .../Example/Sprites/capguy/walk/0012.png | Bin .../Example/Sprites/capguy/walk/0012.png.meta | 0 .../Example/Sprites/capguy/walk/0012_n.png | Bin .../Sprites/capguy/walk/0012_n.png.meta | 0 .../Example/Sprites/capguy/walk/0013.png | Bin .../Example/Sprites/capguy/walk/0013.png.meta | 0 .../Example/Sprites/capguy/walk/0013_n.png | Bin .../Sprites/capguy/walk/0013_n.png.meta | 0 .../Example/Sprites/capguy/walk/0014.png | Bin .../Example/Sprites/capguy/walk/0014.png.meta | 0 .../Example/Sprites/capguy/walk/0014_n.png | Bin .../Sprites/capguy/walk/0014_n.png.meta | 0 .../Example/Sprites/capguy/walk/0015.png | Bin .../Example/Sprites/capguy/walk/0015.png.meta | 0 .../Example/Sprites/capguy/walk/0015_n.png | Bin .../Sprites/capguy/walk/0015_n.png.meta | 0 .../Example/Sprites/capguy/walk/0016.png | Bin .../Example/Sprites/capguy/walk/0016.png.meta | 0 .../Example/Sprites/capguy/walk/0016_n.png | Bin .../Sprites/capguy/walk/0016_n.png.meta | 0 .../Plugins/codeandweb.com/Readme.txt | 0 .../Plugins/codeandweb.com/Readme.txt.meta | 0 Assets/{ => External}/TextMesh Pro.meta | 0 Assets/{ => External}/TextMesh Pro/Fonts.meta | 0 .../Fonts/LiberationSans - OFL.txt | 0 .../Fonts/LiberationSans - OFL.txt.meta | 0 .../TextMesh Pro/Fonts/LiberationSans.ttf | Bin .../Fonts/LiberationSans.ttf.meta | 0 .../TextMesh Pro/Resources.meta | 0 .../Resources/Fonts & Materials.meta | 0 .../LiberationSans SDF - Drop Shadow.mat | 0 .../LiberationSans SDF - Drop Shadow.mat.meta | 0 .../LiberationSans SDF - Fallback.asset | 0 .../LiberationSans SDF - Fallback.asset.meta | 0 .../LiberationSans SDF - Outline.mat | 0 .../LiberationSans SDF - Outline.mat.meta | 0 .../LiberationSans SDF.asset | 0 .../LiberationSans SDF.asset.meta | 0 .../LineBreaking Following Characters.txt | 0 ...LineBreaking Following Characters.txt.meta | 0 .../LineBreaking Leading Characters.txt | 0 .../LineBreaking Leading Characters.txt.meta | 0 .../TextMesh Pro/Resources/Sprite Assets.meta | 0 .../Resources/Sprite Assets/EmojiOne.asset | 0 .../Sprite Assets/EmojiOne.asset.meta | 0 .../TextMesh Pro/Resources/Style Sheets.meta | 0 .../Style Sheets/Default Style Sheet.asset | 0 .../Default Style Sheet.asset.meta | 0 .../TextMesh Pro/Resources/TMP Settings.asset | 0 .../Resources/TMP Settings.asset.meta | 0 .../{ => External}/TextMesh Pro/Shaders.meta | 0 .../TextMesh Pro/Shaders/SDFFunctions.hlsl | 0 .../Shaders/SDFFunctions.hlsl.meta | 0 .../Shaders/TMP_Bitmap-Custom-Atlas.shader | 0 .../TMP_Bitmap-Custom-Atlas.shader.meta | 0 .../Shaders/TMP_Bitmap-Mobile.shader | 0 .../Shaders/TMP_Bitmap-Mobile.shader.meta | 0 .../TextMesh Pro/Shaders/TMP_Bitmap.shader | 0 .../Shaders/TMP_Bitmap.shader.meta | 0 .../Shaders/TMP_SDF Overlay.shader | 0 .../Shaders/TMP_SDF Overlay.shader.meta | 0 .../TextMesh Pro/Shaders/TMP_SDF SSD.shader | 0 .../Shaders/TMP_SDF SSD.shader.meta | 0 .../Shaders/TMP_SDF-HDRP LIT.shadergraph | 0 .../Shaders/TMP_SDF-HDRP LIT.shadergraph.meta | 0 .../Shaders/TMP_SDF-HDRP UNLIT.shadergraph | 0 .../TMP_SDF-HDRP UNLIT.shadergraph.meta | 0 .../Shaders/TMP_SDF-Mobile Masking.shader | 0 .../TMP_SDF-Mobile Masking.shader.meta | 0 .../Shaders/TMP_SDF-Mobile Overlay.shader | 0 .../TMP_SDF-Mobile Overlay.shader.meta | 0 .../Shaders/TMP_SDF-Mobile SSD.shader | 0 .../Shaders/TMP_SDF-Mobile SSD.shader.meta | 0 .../Shaders/TMP_SDF-Mobile-2-Pass.shader | 0 .../Shaders/TMP_SDF-Mobile-2-Pass.shader.meta | 0 .../Shaders/TMP_SDF-Mobile.shader | 0 .../Shaders/TMP_SDF-Mobile.shader.meta | 0 .../Shaders/TMP_SDF-Surface-Mobile.shader | 0 .../TMP_SDF-Surface-Mobile.shader.meta | 0 .../Shaders/TMP_SDF-Surface.shader | 0 .../Shaders/TMP_SDF-Surface.shader.meta | 0 .../Shaders/TMP_SDF-URP Lit.shadergraph | 0 .../Shaders/TMP_SDF-URP Lit.shadergraph.meta | 0 .../Shaders/TMP_SDF-URP Unlit.shadergraph | 0 .../TMP_SDF-URP Unlit.shadergraph.meta | 0 .../TextMesh Pro/Shaders/TMP_SDF.shader | 0 .../TextMesh Pro/Shaders/TMP_SDF.shader.meta | 0 .../TextMesh Pro/Shaders/TMP_Sprite.shader | 0 .../Shaders/TMP_Sprite.shader.meta | 0 .../TextMesh Pro/Shaders/TMPro.cginc | 0 .../TextMesh Pro/Shaders/TMPro.cginc.meta | 0 .../TextMesh Pro/Shaders/TMPro_Mobile.cginc | 0 .../Shaders/TMPro_Mobile.cginc.meta | 0 .../Shaders/TMPro_Properties.cginc | 0 .../Shaders/TMPro_Properties.cginc.meta | 0 .../TextMesh Pro/Shaders/TMPro_Surface.cginc | 0 .../Shaders/TMPro_Surface.cginc.meta | 0 .../{ => External}/TextMesh Pro/Sprites.meta | 0 .../Sprites/EmojiOne Attribution.txt | 0 .../Sprites/EmojiOne Attribution.txt.meta | 0 .../TextMesh Pro/Sprites/EmojiOne.json | 0 .../TextMesh Pro/Sprites/EmojiOne.json.meta | 0 .../TextMesh Pro/Sprites/EmojiOne.png | Bin .../TextMesh Pro/Sprites/EmojiOne.png.meta | 0 433 files changed, 10589 insertions(+), 4 deletions(-) create mode 100644 Assets/External/Pixelplacement.meta create mode 100644 Assets/External/Pixelplacement/Surge.meta create mode 100644 Assets/External/Pixelplacement/Surge/Chooser.meta create mode 100644 Assets/External/Pixelplacement/Surge/Chooser/Chooser.cs create mode 100644 Assets/External/Pixelplacement/Surge/Chooser/Chooser.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Chooser/Editor.meta create mode 100644 Assets/External/Pixelplacement/Surge/Chooser/Editor/ChooserEditor.cs create mode 100644 Assets/External/Pixelplacement/Surge/Chooser/Editor/ChooserEditor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Chooser/Interfaces.meta create mode 100644 Assets/External/Pixelplacement/Surge/Chooser/Interfaces/IChooser.cs create mode 100644 Assets/External/Pixelplacement/Surge/Chooser/Interfaces/IChooser.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/ColliderButton.meta create mode 100644 Assets/External/Pixelplacement/Surge/ColliderButton/ColliderButton.cs create mode 100644 Assets/External/Pixelplacement/Surge/ColliderButton/ColliderButton.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/ColliderButton/Editor.meta create mode 100644 Assets/External/Pixelplacement/Surge/ColliderButton/Editor/ColliderButtonEditor.cs create mode 100644 Assets/External/Pixelplacement/Surge/ColliderButton/Editor/ColliderButtonEditor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/ColliderButton/Utilities.meta create mode 100644 Assets/External/Pixelplacement/Surge/ColliderButton/Utilities/ColliderButtonInteraction.cs create mode 100644 Assets/External/Pixelplacement/Surge/ColliderButton/Utilities/ColliderButtonInteraction.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/ColliderButton/Utilities/ColliderButtonSelector.cs create mode 100644 Assets/External/Pixelplacement/Surge/ColliderButton/Utilities/ColliderButtonSelector.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/DisplayObject.meta create mode 100644 Assets/External/Pixelplacement/Surge/DisplayObject/DisplayObject.cs create mode 100644 Assets/External/Pixelplacement/Surge/DisplayObject/DisplayObject.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/DisplayObject/Editor.meta create mode 100644 Assets/External/Pixelplacement/Surge/DisplayObject/Editor/DisplayObjectEditor.cs create mode 100644 Assets/External/Pixelplacement/Surge/DisplayObject/Editor/DisplayObjectEditor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Editor.meta create mode 100644 Assets/External/Pixelplacement/Surge/Editor/InitializationRequirements.cs create mode 100644 Assets/External/Pixelplacement/Surge/Editor/InitializationRequirements.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Events.meta create mode 100644 Assets/External/Pixelplacement/Surge/Events/Events.cs create mode 100644 Assets/External/Pixelplacement/Surge/Events/Events.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/License.txt create mode 100644 Assets/External/Pixelplacement/Surge/License.txt.meta create mode 100644 Assets/External/Pixelplacement/Surge/ReadMe.txt create mode 100644 Assets/External/Pixelplacement/Surge/ReadMe.txt.meta create mode 100644 Assets/External/Pixelplacement/Surge/Singleton.meta create mode 100644 Assets/External/Pixelplacement/Surge/Singleton/Singleton.cs create mode 100644 Assets/External/Pixelplacement/Surge/Singleton/Singleton.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Materials.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Materials/Node.mat create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Materials/Node.mat.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Models.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Models/Node.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Models/Node/Materials.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Models/Node/Materials/Node.mat create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Models/Node/Materials/Node.mat.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Models/Node/Node.fbx create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Models/Node/Node.fbx.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Models/ScaleNode.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Models/ScaleNode/Materials.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Models/ScaleNode/Materials/ScaleNode.mat create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Models/ScaleNode/Materials/ScaleNode.mat.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Models/ScaleNode/ScaleNode.fbx create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Models/ScaleNode/ScaleNode.fbx.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Shaders.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Shaders/Invisible.shader create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Art/Shaders/Invisible.shader.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Editor.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Editor/SplineAnchorEditor.cs create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Editor/SplineAnchorEditor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Editor/SplineEditor.cs create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Editor/SplineEditor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Editor/SplineTangentEditor.cs create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Editor/SplineTangentEditor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Objects.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Objects/BezierCurves.cs create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Objects/BezierCurves.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Objects/CurveDetail.cs create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Objects/CurveDetail.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Objects/Spline.cs create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Objects/Spline.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Objects/SplineAnchor.cs create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Objects/SplineAnchor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Objects/SplineFollower.cs create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Objects/SplineFollower.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Objects/SplineTangent.cs create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Objects/SplineTangent.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Resources.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Resources/Anchor.prefab create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Resources/Anchor.prefab.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Resources/SplineRenderer.mat create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Resources/SplineRenderer.mat.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Utilities.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Utilities/SplineControlledParticleSystem.cs create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Utilities/SplineControlledParticleSystem.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Utilities/SplineRenderer.cs create mode 100644 Assets/External/Pixelplacement/Surge/Spline/Utilities/SplineRenderer.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/StateMachine.meta create mode 100644 Assets/External/Pixelplacement/Surge/StateMachine/Editor.meta create mode 100644 Assets/External/Pixelplacement/Surge/StateMachine/Editor/StateEditor.cs create mode 100644 Assets/External/Pixelplacement/Surge/StateMachine/Editor/StateEditor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/StateMachine/Editor/StateMachineEditor.cs create mode 100644 Assets/External/Pixelplacement/Surge/StateMachine/Editor/StateMachineEditor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/StateMachine/State.cs create mode 100644 Assets/External/Pixelplacement/Surge/StateMachine/State.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/StateMachine/StateMachine.cs create mode 100644 Assets/External/Pixelplacement/Surge/StateMachine/StateMachine.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/Helpers.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/Helpers/TweenBase.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/Helpers/TweenBase.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/Helpers/TweenEngine.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/Helpers/TweenEngine.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/Helpers/TweenUtilities.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/Helpers/TweenUtilities.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/Tween.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/Tween.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/AnchoredPosition.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/AnchoredPosition.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/CameraBackgroundColor.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/CameraBackgroundColor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/CanvasGroupAlpha.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/CanvasGroupAlpha.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/FieldOfView.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/FieldOfView.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/GraphicColor.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/GraphicColor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ImageColor.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ImageColor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/LightColor.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/LightColor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/LightIntensity.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/LightIntensity.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/LightRange.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/LightRange.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/LocalPosition.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/LocalPosition.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/LocalRotation.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/LocalRotation.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/LocalScale.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/LocalScale.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/PanStereo.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/PanStereo.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/Pitch.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/Pitch.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/Position.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/Position.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/RawImageColor.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/RawImageColor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/Rotate.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/Rotate.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/Rotation.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/Rotation.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ShaderColor.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ShaderColor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ShaderFloat.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ShaderFloat.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ShaderInt.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ShaderInt.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ShaderVector.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ShaderVector.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ShakePosition.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ShakePosition.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/Size.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/Size.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/SplinePercentage.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/SplinePercentage.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/SpriteRendererColor.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/SpriteRendererColor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/TextColor.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/TextColor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/TextMeshColor.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/TextMeshColor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ValueColor.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ValueColor.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ValueFloat.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ValueFloat.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ValueInt.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ValueInt.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ValueRect.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ValueRect.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ValueVector2.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ValueVector2.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ValueVector3.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ValueVector3.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ValueVector4.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/ValueVector4.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/Volume.cs create mode 100644 Assets/External/Pixelplacement/Surge/Tween/TweenActions/Volume.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Utilities.meta create mode 100644 Assets/External/Pixelplacement/Surge/Utilities/EditorUtilities.cs create mode 100644 Assets/External/Pixelplacement/Surge/Utilities/EditorUtilities.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Utilities/Initialization.cs create mode 100644 Assets/External/Pixelplacement/Surge/Utilities/Initialization.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Utilities/LayerMaskHelper.cs create mode 100644 Assets/External/Pixelplacement/Surge/Utilities/LayerMaskHelper.cs.meta create mode 100644 Assets/External/Pixelplacement/Surge/Utilities/Math.cs create mode 100644 Assets/External/Pixelplacement/Surge/Utilities/Math.cs.meta rename Assets/{ => External}/Plugins.meta (100%) rename Assets/{ => External}/Plugins/TutorialInfo.meta (100%) rename Assets/{ => External}/Plugins/TutorialInfo/Icons.meta (100%) rename Assets/{ => External}/Plugins/TutorialInfo/Icons/Help_Icon.png (100%) rename Assets/{ => External}/Plugins/TutorialInfo/Icons/Help_Icon.png.meta (100%) rename Assets/{ => External}/Plugins/TutorialInfo/Icons/Mobile 2D.png (100%) rename Assets/{ => External}/Plugins/TutorialInfo/Icons/Mobile 2D.png.meta (100%) rename Assets/{ => External}/Plugins/TutorialInfo/Layout.wlt (100%) rename Assets/{ => External}/Plugins/TutorialInfo/Layout.wlt.meta (100%) rename Assets/{ => External}/Plugins/TutorialInfo/Scripts.meta (100%) rename Assets/{ => External}/Plugins/TutorialInfo/Scripts/Editor.meta (100%) rename Assets/{ => External}/Plugins/TutorialInfo/Scripts/Editor/ReadmeEditor.cs (99%) rename Assets/{ => External}/Plugins/TutorialInfo/Scripts/Editor/ReadmeEditor.cs.meta (100%) rename Assets/{ => External}/Plugins/TutorialInfo/Scripts/Readme.cs (100%) rename Assets/{ => External}/Plugins/TutorialInfo/Scripts/Readme.cs.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Editor.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Editor/SettingsTexturePackerImporter.txt (85%) rename Assets/{ => External}/Plugins/codeandweb.com/Editor/SettingsTexturePackerImporter.txt.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Editor/SpritesheetImporter.cs (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Editor/SpritesheetImporter.cs.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Editor/TexturePackerImporter.dll (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Editor/TexturePackerImporter.dll.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Editor/UIImageSetSizeAndPivot.cs (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Editor/UIImageSetSizeAndPivot.cs.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Normals.sip (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Normals.sip.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/SpriteSheet.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/SpriteSheet.tps (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/SpriteSheet.tps.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/SpriteSheet/sprites.mat (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/SpriteSheet/sprites.mat.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/SpriteSheet/sprites.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/SpriteSheet/sprites.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/SpriteSheet/sprites.tpsheet (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/SpriteSheet/sprites.tpsheet.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/SpriteSheet/sprites_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/SpriteSheet/sprites_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0001.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0001.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0001_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0001_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0002.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0002.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0002_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0002_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0003.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0003.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0003_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0003_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0004.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0004.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0004_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0004_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0005.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0005.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0005_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0005_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0006.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0006.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0006_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0006_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0007.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0007.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0007_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0007_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0008.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0008.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0008_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0008_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0009.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0009.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0009_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0009_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0010.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0010.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0010_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0010_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0011.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0011.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0011_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0011_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0012.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0012.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0012_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/turn/0012_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0001.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0001.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0001_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0001_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0002.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0002.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0002_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0002_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0003.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0003.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0003_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0003_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0004.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0004.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0004_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0004_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0005.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0005.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0005_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0005_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0006.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0006.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0006_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0006_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0007.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0007.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0007_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0007_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0008.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0008.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0008_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0008_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0009.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0009.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0009_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0009_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0010.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0010.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0010_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0010_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0011.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0011.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0011_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0011_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0012.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0012.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0012_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0012_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0013.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0013.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0013_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0013_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0014.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0014.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0014_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0014_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0015.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0015.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0015_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0015_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0016.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0016.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0016_n.png (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Example/Sprites/capguy/walk/0016_n.png.meta (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Readme.txt (100%) rename Assets/{ => External}/Plugins/codeandweb.com/Readme.txt.meta (100%) rename Assets/{ => External}/TextMesh Pro.meta (100%) rename Assets/{ => External}/TextMesh Pro/Fonts.meta (100%) rename Assets/{ => External}/TextMesh Pro/Fonts/LiberationSans - OFL.txt (100%) rename Assets/{ => External}/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta (100%) rename Assets/{ => External}/TextMesh Pro/Fonts/LiberationSans.ttf (100%) rename Assets/{ => External}/TextMesh Pro/Fonts/LiberationSans.ttf.meta (100%) rename Assets/{ => External}/TextMesh Pro/Resources.meta (100%) rename Assets/{ => External}/TextMesh Pro/Resources/Fonts & Materials.meta (100%) rename Assets/{ => External}/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat (100%) rename Assets/{ => External}/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta (100%) rename Assets/{ => External}/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset (100%) rename Assets/{ => External}/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta (100%) rename Assets/{ => External}/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat (100%) rename Assets/{ => External}/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta (100%) rename Assets/{ => External}/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset (100%) rename Assets/{ => External}/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta (100%) rename Assets/{ => External}/TextMesh Pro/Resources/LineBreaking Following Characters.txt (100%) rename Assets/{ => External}/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta (100%) rename Assets/{ => External}/TextMesh Pro/Resources/LineBreaking Leading Characters.txt (100%) rename Assets/{ => External}/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta (100%) rename Assets/{ => External}/TextMesh Pro/Resources/Sprite Assets.meta (100%) rename Assets/{ => External}/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset (100%) rename Assets/{ => External}/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta (100%) rename Assets/{ => External}/TextMesh Pro/Resources/Style Sheets.meta (100%) rename Assets/{ => External}/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset (100%) rename Assets/{ => External}/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta (100%) rename Assets/{ => External}/TextMesh Pro/Resources/TMP Settings.asset (100%) rename Assets/{ => External}/TextMesh Pro/Resources/TMP Settings.asset.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/SDFFunctions.hlsl (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/SDFFunctions.hlsl.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_Bitmap.shader (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF Overlay.shader (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF SSD.shader (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-HDRP LIT.shadergraph (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-HDRP LIT.shadergraph.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-HDRP UNLIT.shadergraph (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-HDRP UNLIT.shadergraph.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-Mobile-2-Pass.shader (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-Mobile-2-Pass.shader.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-Surface.shader (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-URP Lit.shadergraph (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-URP Lit.shadergraph.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-URP Unlit.shadergraph (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF-URP Unlit.shadergraph.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF.shader (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_SDF.shader.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_Sprite.shader (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMP_Sprite.shader.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMPro.cginc (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMPro.cginc.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMPro_Mobile.cginc (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMPro_Properties.cginc (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMPro_Surface.cginc (100%) rename Assets/{ => External}/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta (100%) rename Assets/{ => External}/TextMesh Pro/Sprites.meta (100%) rename Assets/{ => External}/TextMesh Pro/Sprites/EmojiOne Attribution.txt (100%) rename Assets/{ => External}/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta (100%) rename Assets/{ => External}/TextMesh Pro/Sprites/EmojiOne.json (100%) rename Assets/{ => External}/TextMesh Pro/Sprites/EmojiOne.json.meta (100%) rename Assets/{ => External}/TextMesh Pro/Sprites/EmojiOne.png (100%) rename Assets/{ => External}/TextMesh Pro/Sprites/EmojiOne.png.meta (100%) diff --git a/Assets/External/Pixelplacement.meta b/Assets/External/Pixelplacement.meta new file mode 100644 index 00000000..3f3c5336 --- /dev/null +++ b/Assets/External/Pixelplacement.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1c36c8454fb32e644b5d77397aabcdb4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/Pixelplacement/Surge.meta b/Assets/External/Pixelplacement/Surge.meta new file mode 100644 index 00000000..8cc0b881 --- /dev/null +++ b/Assets/External/Pixelplacement/Surge.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 02046d5fdbe21b6438050c1580fc45dc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/Pixelplacement/Surge/Chooser.meta b/Assets/External/Pixelplacement/Surge/Chooser.meta new file mode 100644 index 00000000..5aa00495 --- /dev/null +++ b/Assets/External/Pixelplacement/Surge/Chooser.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dfe31349ba782e74790b285d1a724204 +folderAsset: yes +timeCreated: 1521832879 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/Pixelplacement/Surge/Chooser/Chooser.cs b/Assets/External/Pixelplacement/Surge/Chooser/Chooser.cs new file mode 100644 index 00000000..08c675a9 --- /dev/null +++ b/Assets/External/Pixelplacement/Surge/Chooser/Chooser.cs @@ -0,0 +1,412 @@ +/// +/// SURGE FRAMEWORK +/// Author: Bob Berkebile +/// Email: bobb@pixelplacement.com +/// +/// Simplify the act of selecting and interacting with things. +/// +/// + +#pragma warning disable 0649 + +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Events; + +namespace Pixelplacement +{ + public class Chooser : MonoBehaviour + { + //Public Events: + public GameObjectEvent OnSelected; + public GameObjectEvent OnDeselected; + public GameObjectEvent OnPressed; + public GameObjectEvent OnReleased; + + //Public Enums: + public enum Method { Raycast, RaycastAll }; + + //Public Variables: + public bool _cursorPropertiesFolded; + public bool _unityEventsFolded; + public Transform source; + public float raycastDistance = 3; + public LayerMask layermask = -1; + public KeyCode[] pressedInput; + public Transform cursor; + public float surfaceOffset; + public float idleDistance = 3f; + public float stabilityDelta = 0.0127f; + public float snapDelta = 1; + public float stableSpeed = 2; + public float unstableSpeed = 20; + public bool flipForward; + public bool matchSurfaceNormal = true; + public bool autoHide; + public bool cursorHidden; + public bool flipCastDirection; + public LineRenderer lineRenderer; + + //Public Properties: + public Transform[] Current + { + get + { + return _current.ToArray(); + } + } + + public bool IsHitting + { + get; + private set; + } + + //Private Variables: + [SerializeField] Method _method; + [SerializeField] bool _debugView = false; + Transform _previousCursor; + List _current = new List(); + List _previous = new List(); + Transform _currentRaycast; + Transform _previousRaycast; + Vector3 _targetPosition; + bool _hidden; + + //Init: + private void Reset() + { + source = transform; + pressedInput = new KeyCode[] { KeyCode.Mouse0 }; + } + + //Flow: + private void OnEnable() + { + if (source == null) + { + source = transform; + } + + if (cursor != null) + { + cursor.position = source.position; + cursor.gameObject.SetActive(true); + } + if (lineRenderer != null) + { + lineRenderer.positionCount = 0; + lineRenderer.enabled = true; + } + } + + private void OnDisable() + { + if (cursor != null) cursor.gameObject.SetActive(false); + if (lineRenderer != null) lineRenderer.enabled = false; + } + + //Gizmos: + private void OnDrawGizmosSelected() + { + if (Application.isPlaying) return; + + Vector3 castDirection = source.forward; + if (flipCastDirection) castDirection *= -1; + Gizmos.color = Color.green; + Gizmos.DrawRay(source.position, castDirection * raycastDistance); + + if (cursor != null) + { + Gizmos.color = Color.yellow; + Gizmos.DrawLine(source.position, cursor.position); + } + } + + //Public Methods: + public void Pressed() + { + switch (_method) + { + case Method.Raycast: + if (_currentRaycast != null) + { + _currentRaycast.SendMessage("Pressed", SendMessageOptions.DontRequireReceiver); + if (OnPressed != null) OnPressed.Invoke(_currentRaycast.gameObject); + } + break; + + case Method.RaycastAll: + if (_current.Count > 0) + { + foreach (var item in _current) + { + item.SendMessage("Pressed", SendMessageOptions.DontRequireReceiver); + if (OnPressed != null) OnPressed.Invoke(item.gameObject); + } + } + break; + } + } + + public void Released() + { + switch (_method) + { + case Method.Raycast: + if (_currentRaycast != null) + { + _currentRaycast.SendMessage("Released", SendMessageOptions.DontRequireReceiver); + if (OnReleased != null) OnReleased.Invoke(_currentRaycast.gameObject); + } + break; + + case Method.RaycastAll: + if (_current.Count > 0) + { + foreach (var item in _current) + { + item.SendMessage("Released", SendMessageOptions.DontRequireReceiver); + if (OnReleased != null) OnReleased.Invoke(item.gameObject); + } + } + break; + } + } + + //Loops: + private void Update() + { + //cursor setup: + if (cursor != _previousCursor) + { + _previousCursor = cursor; + if (cursor == null) return; + + foreach (var item in cursor.GetComponentsInChildren()) + { + Debug.Log("Cursor can not contain colliders. Disabling colliders on: " + item.name); + item.enabled = false; + } + } + + //process input: + if (pressedInput != null) + { + foreach (var item in pressedInput) + { + /* if (Input.GetKeyDown(item)) + { + Pressed(); + } + + if (Input.GetKeyUp(item)) + { + Released(); + } */ + } + } + + //clear out: + _current.Clear(); + + //raycast: + RaycastHit hit; + Vector3 castDirection = source.forward; + if (flipCastDirection) castDirection *= -1; + Physics.Raycast(source.position, castDirection, out hit, raycastDistance, layermask); + _currentRaycast = hit.transform; + IsHitting = hit.transform != null; + + //cache: + if (_method == Method.Raycast && IsHitting) + { + _current.Clear(); + _current.Add(hit.transform); + } + + //debug info: + if (_debugView) + { + if (hit.transform != null) + { + Debug.DrawLine(source.position, hit.point, Color.green); + } + else + { + Debug.DrawRay(source.position, castDirection * raycastDistance, Color.red); + } + } + + //cursor visibility: + if (cursor != null) + { + if (cursorHidden) + { + cursor.gameObject.SetActive(false); + } + else + { + if (autoHide) + { + cursor.gameObject.SetActive(IsHitting); + if (lineRenderer != null) lineRenderer.enabled = IsHitting; + } + else + { + cursor.gameObject.SetActive(true); + if (lineRenderer != null) lineRenderer.enabled = true; + } + } + } + + //cursor management: + if (cursor != null) + { + if (hit.transform != null) + { + //get position: + _targetPosition = hit.point + hit.normal * surfaceOffset; + + //get position speed: + float posSpeed = unstableSpeed; + float delta = Vector3.Distance(_targetPosition, cursor.position); + if (delta <= stabilityDelta) + { + posSpeed = stableSpeed; + } + + if (delta >= snapDelta) + { + cursor.position = _targetPosition; + } + else + { + cursor.position = Vector3.Lerp(cursor.position, _targetPosition, Time.unscaledDeltaTime * posSpeed); + } + + //set rotation: + if (matchSurfaceNormal) + { + cursor.rotation = Quaternion.LookRotation(hit.normal, source.up); + } + else + { + cursor.LookAt(source, Vector3.up); + } + + //adjust: + if (flipForward) + { + cursor.Rotate(Vector3.up * 180); + } + } + else + { + //put out in front and face source (flip if needed): + Vector3 inFront = source.position + castDirection * idleDistance; + float delta = Vector3.Distance(inFront, cursor.position); + float posSpeed = unstableSpeed; + + if (delta <= stabilityDelta) + { + posSpeed = stableSpeed; + } + + if (delta >= snapDelta) + { + cursor.position = inFront; + } + else + { + cursor.position = Vector3.Lerp(cursor.position, inFront, Time.unscaledDeltaTime * posSpeed); + } + + cursor.LookAt(source.position); + if (flipForward) + { + cursor.Rotate(Vector3.up * 180); + } + } + } + + //handle raycast messages: + if (_method == Method.Raycast) + { + //select: + if (_previousRaycast == null && hit.transform != null) + { + hit.transform.SendMessage("Selected", SendMessageOptions.DontRequireReceiver); + if (OnSelected != null) OnSelected.Invoke(hit.transform.gameObject); + } + + //updated select: + if (hit.transform != null && _previousRaycast != null && _previousRaycast != hit.transform) + { + _previousRaycast.SendMessage("Deselected", SendMessageOptions.DontRequireReceiver); + if (OnDeselected != null) OnDeselected.Invoke(_previousRaycast.gameObject); + hit.transform.SendMessage("Selected", SendMessageOptions.DontRequireReceiver); + if (OnSelected != null) OnSelected.Invoke(hit.transform.gameObject); + } + + //deselect: + if (_previousRaycast != null && hit.transform == null) + { + _previousRaycast.SendMessage("Deselected", SendMessageOptions.DontRequireReceiver); + if (OnDeselected != null) OnDeselected.Invoke(_previousRaycast.gameObject); + } + + //cache: + _previousRaycast = hit.transform; + } + + //raycast all: + if (_method == Method.RaycastAll) + { + //catalog: + foreach (var item in Physics.RaycastAll(source.position, castDirection, raycastDistance, layermask)) + { + _current.Add(item.transform); + } + + //handle selects: + if (_current.Count > 0) + { + foreach (var item in _current) + { + if (_previous.Count == 0 || !_previous.Contains(item)) + { + item.SendMessage("Selected", SendMessageOptions.DontRequireReceiver); + if (OnSelected != null) OnSelected.Invoke(item.gameObject); + } + } + } + + //handle deselects: + if (_previous.Count > 0) + { + foreach (var item in _previous) + { + if (_current.Count == 0 || !_current.Contains(item)) + { + item.SendMessage("Deselected", SendMessageOptions.DontRequireReceiver); + if (OnDeselected != null) OnDeselected.Invoke(item.gameObject); + } + } + } + + //cache: + _previous.Clear(); + _previous.AddRange(_current); + } + + //line renderer: + if (cursor != null && cursor.gameObject.activeSelf && lineRenderer != null ) + { + if (lineRenderer.positionCount != 2) lineRenderer.positionCount = 2; + lineRenderer.SetPosition(0, source.position); + lineRenderer.SetPosition(1, cursor.position); + } + } + } +} \ No newline at end of file diff --git a/Assets/External/Pixelplacement/Surge/Chooser/Chooser.cs.meta b/Assets/External/Pixelplacement/Surge/Chooser/Chooser.cs.meta new file mode 100644 index 00000000..49f09d20 --- /dev/null +++ b/Assets/External/Pixelplacement/Surge/Chooser/Chooser.cs.meta @@ -0,0 +1,20 @@ +fileFormatVersion: 2 +guid: db04a89df0755a04cb9d5f03bb62b19d +timeCreated: 1521224863 +licenseType: Store +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 107312 + packageName: Surge + packageVersion: 1.0.48 + assetPath: Assets/Pixelplacement/Surge/Chooser/Chooser.cs + uploadId: 467433 diff --git a/Assets/External/Pixelplacement/Surge/Chooser/Editor.meta b/Assets/External/Pixelplacement/Surge/Chooser/Editor.meta new file mode 100644 index 00000000..00451330 --- /dev/null +++ b/Assets/External/Pixelplacement/Surge/Chooser/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0d863bca9b2680743bd08a98ae378772 +folderAsset: yes +timeCreated: 1522266281 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/Pixelplacement/Surge/Chooser/Editor/ChooserEditor.cs b/Assets/External/Pixelplacement/Surge/Chooser/Editor/ChooserEditor.cs new file mode 100644 index 00000000..4fe2dae1 --- /dev/null +++ b/Assets/External/Pixelplacement/Surge/Chooser/Editor/ChooserEditor.cs @@ -0,0 +1,106 @@ +/// +/// SURGE FRAMEWORK +/// Author: Bob Berkebile +/// Email: bobb@pixelplacement.com +/// +/// Custom inspector Chooser. +/// +/// + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +namespace Pixelplacement +{ + [CustomEditor(typeof(Chooser), true)] + [CanEditMultipleObjects] + public class ChooserEditor : UnityEditor.Editor + { + //Private Variables: + Chooser _target; + + //Flow: + void OnEnable() + { + _target = target as Chooser; + } + + //Inspector GUI: + public override void OnInspectorGUI() + { + serializedObject.Update(); + + DrawPropertiesExcluding(serializedObject, new string[] { + "OnSelected", + "OnDeselected", + "OnPressed", + "OnReleased", + "_cursorPropertiesFolded", + "_unityEventsFolded", + "source", + "raycastDistance", + "layermask", + "pressedInput", + "cursor", + "surfaceOffset", + "idleDistance", + "stabilityDelta", + "snapDelta", + "stableSpeed", + "unstableSpeed", + "flipForward", + "matchSurfaceNormal", + "autoHide", + "cursorHidden", + "flipCastDirection", + "lineRenderer", + "_debugView", + "_method" + }); + + EditorGUILayout.PropertyField(serializedObject.FindProperty("source")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("raycastDistance")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("flipCastDirection")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("layermask")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("_method")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("_debugView")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("pressedInput"), true); + + _target._cursorPropertiesFolded = EditorGUILayout.Foldout(_target._cursorPropertiesFolded, "Cursor Properties", true); + if (_target._cursorPropertiesFolded) + { + EditorGUI.indentLevel = 1; + EditorGUILayout.PropertyField(serializedObject.FindProperty("cursor")); + GUI.enabled = _target.cursor != null; + EditorGUILayout.PropertyField(serializedObject.FindProperty("cursorHidden")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("lineRenderer")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("surfaceOffset")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("idleDistance")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("stabilityDelta")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("snapDelta")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("stableSpeed")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("unstableSpeed")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("flipForward")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("matchSurfaceNormal")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("autoHide")); + EditorGUI.indentLevel = 0; + GUI.enabled = true; + EditorGUILayout.Space(); + } + + _target._unityEventsFolded = EditorGUILayout.Foldout(_target._unityEventsFolded, "Unity Events", true); + if (_target._unityEventsFolded) + { + EditorGUILayout.PropertyField(serializedObject.FindProperty("OnSelected")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("OnPressed")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("OnReleased")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("OnDeselected")); + EditorGUILayout.Space(); + } + + serializedObject.ApplyModifiedProperties(); + } + } +} \ No newline at end of file diff --git a/Assets/External/Pixelplacement/Surge/Chooser/Editor/ChooserEditor.cs.meta b/Assets/External/Pixelplacement/Surge/Chooser/Editor/ChooserEditor.cs.meta new file mode 100644 index 00000000..05981be9 --- /dev/null +++ b/Assets/External/Pixelplacement/Surge/Chooser/Editor/ChooserEditor.cs.meta @@ -0,0 +1,19 @@ +fileFormatVersion: 2 +guid: ad17b9c71d7903743aa42f462c8826fb +timeCreated: 1522266293 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 107312 + packageName: Surge + packageVersion: 1.0.48 + assetPath: Assets/Pixelplacement/Surge/Chooser/Editor/ChooserEditor.cs + uploadId: 467433 diff --git a/Assets/External/Pixelplacement/Surge/Chooser/Interfaces.meta b/Assets/External/Pixelplacement/Surge/Chooser/Interfaces.meta new file mode 100644 index 00000000..5e504091 --- /dev/null +++ b/Assets/External/Pixelplacement/Surge/Chooser/Interfaces.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5e72ba21481229f4d94aad43a786efae +folderAsset: yes +timeCreated: 1524507533 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/Pixelplacement/Surge/Chooser/Interfaces/IChooser.cs b/Assets/External/Pixelplacement/Surge/Chooser/Interfaces/IChooser.cs new file mode 100644 index 00000000..cb757cf3 --- /dev/null +++ b/Assets/External/Pixelplacement/Surge/Chooser/Interfaces/IChooser.cs @@ -0,0 +1,10 @@ +namespace Pixelplacement +{ + interface IChooser + { + void Selected(); + void Deselected(); + void Pressed(); + void Released(); + } +} \ No newline at end of file diff --git a/Assets/External/Pixelplacement/Surge/Chooser/Interfaces/IChooser.cs.meta b/Assets/External/Pixelplacement/Surge/Chooser/Interfaces/IChooser.cs.meta new file mode 100644 index 00000000..1ee9e1b6 --- /dev/null +++ b/Assets/External/Pixelplacement/Surge/Chooser/Interfaces/IChooser.cs.meta @@ -0,0 +1,19 @@ +fileFormatVersion: 2 +guid: fbf5a06b4e893814c8820c3be2ddcb66 +timeCreated: 1524507546 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 107312 + packageName: Surge + packageVersion: 1.0.48 + assetPath: Assets/Pixelplacement/Surge/Chooser/Interfaces/IChooser.cs + uploadId: 467433 diff --git a/Assets/External/Pixelplacement/Surge/ColliderButton.meta b/Assets/External/Pixelplacement/Surge/ColliderButton.meta new file mode 100644 index 00000000..4affc9a1 --- /dev/null +++ b/Assets/External/Pixelplacement/Surge/ColliderButton.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f3f82fb6566d9794596b84cdda70c461 +folderAsset: yes +timeCreated: 1521855968 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/Pixelplacement/Surge/ColliderButton/ColliderButton.cs b/Assets/External/Pixelplacement/Surge/ColliderButton/ColliderButton.cs new file mode 100644 index 00000000..1407f3dd --- /dev/null +++ b/Assets/External/Pixelplacement/Surge/ColliderButton/ColliderButton.cs @@ -0,0 +1,608 @@ +/// +/// SURGE FRAMEWORK +/// Author: Bob Berkebile +/// Email: bobb@pixelplacement.com +/// +/// Simple system for turning anything into a button. +/// +/// + +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.Events; +using UnityEngine.EventSystems; +using System; +using Pixelplacement.TweenSystem; +#if UNITY_2017_2_OR_NEWER +using UnityEngine.XR; +#else +using UnityEngine.VR; +#endif + +namespace Pixelplacement +{ + [RequireComponent(typeof(Collider))] + [RequireComponent(typeof(Rigidbody))] + [ExecuteInEditMode] + public sealed class ColliderButton : MonoBehaviour + { + //Public Events: + public ColliderButtonEvent OnSelected; + public ColliderButtonEvent OnDeselected; + public ColliderButtonEvent OnClick; + public ColliderButtonEvent OnPressed; + public ColliderButtonEvent OnReleased; + public static event Action OnSelectedGlobal; + public static event Action OnDeselectedGlobal; + public static event Action OnClickGlobal; + public static event Action OnPressedGlobal; + public static event Action OnReleasedGlobal; + + //Public Enums: + public enum EaseType { EaseOut, EaseOutBack }; + + //Public Properties: + public bool IsSelected + { + get; + private set; + } + + //Public Variables: + public KeyCode[] keyInput; + public bool _unityEventsFolded; + public bool _scaleResponseFolded; + public bool _colorResponseFolded; + public bool applyColor; + public bool applyScale; + public LayerMask collisionLayerMask = -1; + public Renderer colorRendererTarget; + public Image colorImageTarget; + public Color selectedColor = Color.gray; + public Color pressedColor = Color.green; + public Color disabledColor = new Color(.5f, .5f, .5f, .5f); + public float colorDuration = .1f; + public Transform scaleTarget; + public Vector3 normalScale; + public Vector3 selectedScale; + public Vector3 pressedScale; + public float scaleDuration = .1f; + public EaseType scaleEaseType; + public bool resizeGUIBoxCollider = true; + public bool centerGUIBoxCollider = true; + public Vector2 guiBoxColliderPadding; + public bool interactable = true; + + //Private Variables: + bool _clicking; + int _selectedCount; + bool _colliderSelected; + bool _pressed; + bool _released; + bool _vrRunning; + RectTransform _rectTransform; + EventTrigger _eventTrigger; + EventTrigger.Entry _pressedEventTrigger; + EventTrigger.Entry _releasedEventTrigger; + EventTrigger.Entry _enterEventTrigger; + EventTrigger.Entry _exitEventTrigger; + int _colliderCount; + BoxCollider _boxCollider; + TweenBase _colorTweenImage = null; + TweenBase _colorTweenMaterial; + TweenBase _scaleTween; + Color _normalColorRenderer; + Color _normalColorImage; + bool _interactableStatus = true; + + //Init: + private void Reset() + { + //var sets: + applyColor = true; + keyInput = new KeyCode[] { KeyCode.Mouse0 }; + + //hook up image to help users: + Image image = GetComponent(); + if (image != null) + { + colorImageTarget = image; + } + + //hook up renderer to help users: + Renderer renderer = GetComponent(); + if (renderer != null && renderer.sharedMaterial.HasProperty("_Color")) + { + colorRendererTarget = renderer; + } + } + + private void Awake() + { + if (Application.isPlaying) + { + //color setups: + if (colorRendererTarget != null) + { + if (colorRendererTarget.material.HasProperty("_Color")) + { + _normalColorRenderer = colorRendererTarget.material.color; + } + } + if (colorImageTarget != null) + { + _normalColorImage = colorImageTarget.color; + } + } + + //scale setup: + scaleTarget = transform; + normalScale = transform.localScale; + + //set initial size on gui collider: + _rectTransform = GetComponent(); + _boxCollider = GetComponent(); + if (_rectTransform != null && _boxCollider != null) ResizeGUIBoxCollider(_boxCollider); + + //set up rigidbody: + GetComponent().isKinematic = true; + + //refs: + _rectTransform = GetComponent(); + _boxCollider = GetComponent(); + + if (!Application.isPlaying) return; + + //rect and event triggers: + _rectTransform = GetComponent(); + if (_rectTransform != null) + { + _eventTrigger = gameObject.AddComponent(); + _pressedEventTrigger = new EventTrigger.Entry(); + _pressedEventTrigger.eventID = EventTriggerType.PointerDown; + _releasedEventTrigger = new EventTrigger.Entry(); + _releasedEventTrigger.eventID = EventTriggerType.PointerUp; + _enterEventTrigger = new EventTrigger.Entry(); + _enterEventTrigger.eventID = EventTriggerType.PointerEnter; + _exitEventTrigger = new EventTrigger.Entry(); + _exitEventTrigger.eventID = EventTriggerType.PointerExit; + } + + //events: + if (_rectTransform != null) + { + //event registrations: + _pressedEventTrigger.callback.AddListener((data) => { OnPointerDownDelegate((PointerEventData)data); }); + _eventTrigger.triggers.Add(_pressedEventTrigger); + _releasedEventTrigger.callback.AddListener((data) => { OnPointerUpDelegate((PointerEventData)data); }); + _eventTrigger.triggers.Add(_releasedEventTrigger); + _enterEventTrigger.callback.AddListener((data) => { OnPointerEnterDelegate((PointerEventData)data); }); + _eventTrigger.triggers.Add(_enterEventTrigger); + _exitEventTrigger.callback.AddListener((data) => { OnPointerExitDelegate((PointerEventData)data); }); + _eventTrigger.triggers.Add(_exitEventTrigger); + } + } + + //Flow: + private void OnEnable() + { + if (!Application.isPlaying) return; + + ColorReset(); + } + + private void OnDisable() + { + if (!Application.isPlaying) return; + + //resets: + _pressed = false; + _released = false; + _clicking = false; + _colliderSelected = false; + _selectedCount = 0; + _colliderCount = 0; + + ColorReset(); + ScaleReset(); + } + + //Loops: + private void Update() + { + //disabled? + if (_interactableStatus != interactable) + { + if (interactable) + { + ColorNormal(); + } + else + { + ColorDisabled(); + } + + //handle a Unity GUI button in case it is also attached: + Button button = GetComponent