├── .gitignore ├── .idea └── .idea.HyperTemplate │ └── .idea │ ├── .gitignore │ ├── encodings.xml │ ├── indexLayout.xml │ └── vcs.xml ├── Assets ├── Fonts.meta ├── Fonts │ ├── Bumpo SDF Text Mesh Material.asset │ ├── Bumpo SDF Text Mesh Material.asset.meta │ ├── Bumpo SDF UI Material.asset │ ├── Bumpo SDF UI Material.asset.meta │ ├── Bumpo.ttf │ └── Bumpo.ttf.meta ├── Materials.meta ├── Materials │ ├── EasyBackground.mat │ ├── EasyBackground.mat.meta │ ├── InvisibleMask.mat │ └── InvisibleMask.mat.meta ├── Models.meta ├── Models │ ├── FinishWall.fbx │ └── FinishWall.fbx.meta ├── Plugins.meta ├── Plugins │ ├── Demigiant.meta │ ├── Demigiant │ │ ├── DOTween.meta │ │ └── DOTween │ │ │ ├── DOTween.XML │ │ │ ├── DOTween.XML.meta │ │ │ ├── DOTween.dll │ │ │ ├── DOTween.dll.meta │ │ │ ├── Editor.meta │ │ │ ├── Editor │ │ │ ├── DOTweenEditor.XML │ │ │ ├── DOTweenEditor.XML.meta │ │ │ ├── DOTweenEditor.dll │ │ │ ├── DOTweenEditor.dll.meta │ │ │ ├── Imgs.meta │ │ │ └── Imgs │ │ │ │ ├── DOTweenIcon.png │ │ │ │ ├── DOTweenIcon.png.meta │ │ │ │ ├── Footer.png │ │ │ │ ├── Footer.png.meta │ │ │ │ ├── Footer_dark.png │ │ │ │ ├── Footer_dark.png.meta │ │ │ │ ├── Header.jpg │ │ │ │ └── Header.jpg.meta │ │ │ ├── Modules.meta │ │ │ ├── Modules │ │ │ ├── DOTweenModuleAudio.cs │ │ │ ├── DOTweenModuleAudio.cs.meta │ │ │ ├── DOTweenModulePhysics.cs │ │ │ ├── DOTweenModulePhysics.cs.meta │ │ │ ├── DOTweenModulePhysics2D.cs │ │ │ ├── DOTweenModulePhysics2D.cs.meta │ │ │ ├── DOTweenModuleSprite.cs │ │ │ ├── DOTweenModuleSprite.cs.meta │ │ │ ├── DOTweenModuleUI.cs │ │ │ ├── DOTweenModuleUI.cs.meta │ │ │ ├── DOTweenModuleUnityVersion.cs │ │ │ ├── DOTweenModuleUnityVersion.cs.meta │ │ │ ├── DOTweenModuleUtils.cs │ │ │ └── DOTweenModuleUtils.cs.meta │ │ │ ├── readme.txt │ │ │ └── readme.txt.meta │ ├── Joystick Pack.meta │ └── Joystick Pack │ │ ├── Documentaion.pdf │ │ ├── Documentaion.pdf.meta │ │ ├── Examples.meta │ │ ├── Examples │ │ ├── Example Scene.unity │ │ ├── Example Scene.unity.meta │ │ ├── Ground.mat │ │ ├── Ground.mat.meta │ │ ├── JoystickPlayerExample.cs │ │ ├── JoystickPlayerExample.cs.meta │ │ ├── JoystickSetterExample.cs │ │ ├── JoystickSetterExample.cs.meta │ │ ├── Player.mat │ │ └── Player.mat.meta │ │ ├── Prefabs.meta │ │ ├── Prefabs │ │ ├── Dynamic Joystick.prefab │ │ ├── Dynamic Joystick.prefab.meta │ │ ├── Fixed Joystick.prefab │ │ ├── Fixed Joystick.prefab.meta │ │ ├── Floating Joystick.prefab │ │ ├── Floating Joystick.prefab.meta │ │ ├── Variable Joystick.prefab │ │ └── Variable Joystick.prefab.meta │ │ ├── Scripts.meta │ │ ├── Scripts │ │ ├── Base.meta │ │ ├── Base │ │ │ ├── Joystick.cs │ │ │ └── Joystick.cs.meta │ │ ├── Editor.meta │ │ ├── Editor │ │ │ ├── DynamicJoystickEditor.cs │ │ │ ├── DynamicJoystickEditor.cs.meta │ │ │ ├── FloatingJoystickEditor.cs │ │ │ ├── FloatingJoystickEditor.cs.meta │ │ │ ├── JoystickEditor.cs │ │ │ ├── JoystickEditor.cs.meta │ │ │ ├── VariableJoystickEditor.cs │ │ │ └── VariableJoystickEditor.cs.meta │ │ ├── Joysticks.meta │ │ └── Joysticks │ │ │ ├── DynamicJoystick.cs │ │ │ ├── DynamicJoystick.cs.meta │ │ │ ├── FixedJoystick.cs │ │ │ ├── FixedJoystick.cs.meta │ │ │ ├── FloatingJoystick.cs │ │ │ ├── FloatingJoystick.cs.meta │ │ │ ├── VariableJoystick.cs │ │ │ └── VariableJoystick.cs.meta │ │ ├── Sprites.meta │ │ └── Sprites │ │ ├── All Axis Backgrounds.meta │ │ ├── All Axis Backgrounds │ │ ├── AllAxis_Outline.png │ │ ├── AllAxis_Outline.png.meta │ │ ├── AllAxis_Outline_Arrows.png │ │ ├── AllAxis_Outline_Arrows.png.meta │ │ ├── AllAxis_Plain.png │ │ ├── AllAxis_Plain.png.meta │ │ ├── AllAxis_Plain_Arrows.png │ │ ├── AllAxis_Plain_Arrows.png.meta │ │ ├── AllAxis_Ridged.png │ │ ├── AllAxis_Ridged.png.meta │ │ ├── AllAxis_Ridged_Arrows.png │ │ └── AllAxis_Ridged_Arrows.png.meta │ │ ├── Handles.meta │ │ ├── Handles │ │ ├── Handle_Outline.png │ │ ├── Handle_Outline.png.meta │ │ ├── Handle_Outline_Arrows.png │ │ ├── Handle_Outline_Arrows.png.meta │ │ ├── Handle_Plain.png │ │ ├── Handle_Plain.png.meta │ │ ├── Handle_Plain_Arrows.png │ │ ├── Handle_Plain_Arrows.png.meta │ │ ├── Handle_Ridged.png │ │ ├── Handle_Ridged.png.meta │ │ ├── Handle_Ridged_Arrows.png │ │ └── Handle_Ridged_Arrows.png.meta │ │ ├── Horizontal Backgrounds.meta │ │ ├── Horizontal Backgrounds │ │ ├── Horizontal_Outline.png │ │ ├── Horizontal_Outline.png.meta │ │ ├── Horizontal_Outline_Arrows.png │ │ ├── Horizontal_Outline_Arrows.png.meta │ │ ├── Horizontal_Plain.png │ │ ├── Horizontal_Plain.png.meta │ │ ├── Horizontal_Plain_Arrows.png │ │ ├── Horizontal_Plain_Arrows.png.meta │ │ ├── Horizontal_Ridged.png │ │ ├── Horizontal_Ridged.png.meta │ │ ├── Horizontal_Ridged_Arrows.png │ │ └── Horizontal_Ridged_Arrows.png.meta │ │ ├── Vertical Backgrounds.meta │ │ └── Vertical Backgrounds │ │ ├── Vertical_Outline.png │ │ ├── Vertical_Outline.png.meta │ │ ├── Vertical_Outline_Arrows.png │ │ ├── Vertical_Outline_Arrows.png.meta │ │ ├── Vertical_Plain.png │ │ ├── Vertical_Plain.png.meta │ │ ├── Vertical_Plain_Arrows.png │ │ ├── Vertical_Plain_Arrows.png.meta │ │ ├── Vertical_Ridged.png │ │ ├── Vertical_Ridged.png.meta │ │ ├── Vertical_Ridged_Arrows.png │ │ └── Vertical_Ridged_Arrows.png.meta ├── Prefabs.meta ├── Prefabs │ ├── FinishWall.prefab │ ├── FinishWall.prefab.meta │ ├── Level_000.prefab │ ├── Level_000.prefab.meta │ ├── Skybox.prefab │ ├── Skybox.prefab.meta │ ├── UI.meta │ └── UI │ │ ├── Chest.prefab │ │ ├── Chest.prefab.meta │ │ ├── CursorCanvas.prefab │ │ ├── CursorCanvas.prefab.meta │ │ ├── HorizontalProgressBar.prefab │ │ ├── HorizontalProgressBar.prefab.meta │ │ ├── VerticalProgressBar.prefab │ │ └── VerticalProgressBar.prefab.meta ├── Resources.meta ├── Resources │ ├── DOTweenSettings.asset │ └── DOTweenSettings.asset.meta ├── Scenes.meta ├── Scenes │ ├── Game.unity │ └── Game.unity.meta ├── Scripts.meta ├── Scripts │ ├── Core.meta │ ├── Core │ │ ├── AnalyticsManager.cs │ │ ├── AnalyticsManager.cs.meta │ │ ├── CameraManager.cs │ │ ├── CameraManager.cs.meta │ │ ├── GameManager.cs │ │ ├── GameManager.cs.meta │ │ ├── LevelManager.cs │ │ ├── LevelManager.cs.meta │ │ ├── MechanicManager.cs │ │ ├── MechanicManager.cs.meta │ │ ├── SaveLoadManager.cs │ │ ├── SaveLoadManager.cs.meta │ │ ├── UIManager.cs │ │ └── UIManager.cs.meta │ ├── Editor.meta │ ├── Editor │ │ ├── GenericDictionaryPropertyDrawer.cs │ │ └── GenericDictionaryPropertyDrawer.cs.meta │ ├── FinishWall.cs │ ├── FinishWall.cs.meta │ ├── Level.cs │ ├── Level.cs.meta │ ├── Mechanics.meta │ ├── Mechanics │ │ ├── Bases.meta │ │ └── Bases │ │ │ ├── InstantSwipeMechanicWithDirection.cs │ │ │ ├── InstantSwipeMechanicWithDirection.cs.meta │ │ │ ├── InstantVectorSwipeMechanic.cs │ │ │ ├── InstantVectorSwipeMechanic.cs.meta │ │ │ ├── Mechanic.cs │ │ │ ├── Mechanic.cs.meta │ │ │ ├── TapAndHold.cs │ │ │ ├── TapAndHold.cs.meta │ │ │ ├── TapOrSwipeWithDirectionMechanic.cs │ │ │ └── TapOrSwipeWithDirectionMechanic.cs.meta │ ├── Toolkit.meta │ ├── Toolkit │ │ ├── CsvUtility.cs │ │ ├── CsvUtility.cs.meta │ │ ├── Direction.cs │ │ ├── Direction.cs.meta │ │ ├── Extensions.meta │ │ ├── Extensions │ │ │ ├── ColorExtensions.cs │ │ │ ├── ColorExtensions.cs.meta │ │ │ ├── DOTweenExtensions.cs │ │ │ ├── DOTweenExtensions.cs.meta │ │ │ ├── EditorScriptingExtensions.cs │ │ │ ├── EditorScriptingExtensions.cs.meta │ │ │ ├── GameObjectExtensions.cs │ │ │ ├── GameObjectExtensions.cs.meta │ │ │ ├── MathExtensions.cs │ │ │ ├── MathExtensions.cs.meta │ │ │ ├── TransformExtensions.cs │ │ │ └── TransformExtensions.cs.meta │ │ ├── GameObjectPool.cs │ │ ├── GameObjectPool.cs.meta │ │ ├── GenericDictionary.cs │ │ ├── GenericDictionary.cs.meta │ │ ├── MonoBehaviourPool.cs │ │ ├── MonoBehaviourPool.cs.meta │ │ ├── MonoBehaviourSingleton.cs │ │ ├── MonoBehaviourSingleton.cs.meta │ │ ├── MouseFollowingCursor.cs │ │ ├── MouseFollowingCursor.cs.meta │ │ ├── SerializableStructs.cs │ │ ├── SerializableStructs.cs.meta │ │ ├── SingletonBehaviour.cs │ │ ├── SingletonBehaviour.cs.meta │ │ ├── Transparenter.cs │ │ └── Transparenter.cs.meta │ ├── UI.meta │ └── UI │ │ ├── AnimatableUI.cs │ │ ├── AnimatableUI.cs.meta │ │ ├── Chest.cs │ │ ├── Chest.cs.meta │ │ ├── FailScreen.cs │ │ ├── FailScreen.cs.meta │ │ ├── MainMenu.cs │ │ ├── MainMenu.cs.meta │ │ ├── ProgressBar.cs │ │ ├── ProgressBar.cs.meta │ │ ├── SuccessScreen.cs │ │ ├── SuccessScreen.cs.meta │ │ ├── UIScreen.cs │ │ └── UIScreen.cs.meta ├── Shaders.meta ├── Shaders │ ├── EasyBackground.shader │ ├── EasyBackground.shader.meta │ ├── InvisibleMask.shader │ ├── InvisibleMask.shader.meta │ ├── UnlitGradient.shader │ └── UnlitGradient.shader.meta ├── TextMesh Pro.meta ├── TextMesh Pro │ ├── Documentation.meta │ ├── Documentation │ │ ├── TextMesh Pro User Guide 2016.pdf │ │ └── TextMesh Pro User Guide 2016.pdf.meta │ ├── Fonts.meta │ ├── Fonts │ │ ├── LiberationSans - OFL.txt │ │ ├── LiberationSans - OFL.txt.meta │ │ ├── LiberationSans.ttf │ │ └── LiberationSans.ttf.meta │ ├── Resources.meta │ ├── Resources │ │ ├── Fonts & Materials.meta │ │ ├── Fonts & Materials │ │ │ ├── LiberationSans SDF - Drop Shadow.mat │ │ │ ├── LiberationSans SDF - Drop Shadow.mat.meta │ │ │ ├── LiberationSans SDF - Fallback.asset │ │ │ ├── LiberationSans SDF - Fallback.asset.meta │ │ │ ├── LiberationSans SDF - Outline.mat │ │ │ ├── LiberationSans SDF - Outline.mat.meta │ │ │ ├── LiberationSans SDF.asset │ │ │ └── LiberationSans SDF.asset.meta │ │ ├── LineBreaking Following Characters.txt │ │ ├── LineBreaking Following Characters.txt.meta │ │ ├── LineBreaking Leading Characters.txt │ │ ├── LineBreaking Leading Characters.txt.meta │ │ ├── Sprite Assets.meta │ │ ├── Sprite Assets │ │ │ ├── EmojiOne.asset │ │ │ └── EmojiOne.asset.meta │ │ ├── Style Sheets.meta │ │ ├── Style Sheets │ │ │ ├── Default Style Sheet.asset │ │ │ └── Default Style Sheet.asset.meta │ │ ├── TMP Settings.asset │ │ └── TMP Settings.asset.meta │ ├── Shaders.meta │ ├── Shaders │ │ ├── TMP_Bitmap-Custom-Atlas.shader │ │ ├── TMP_Bitmap-Custom-Atlas.shader.meta │ │ ├── TMP_Bitmap-Mobile.shader │ │ ├── TMP_Bitmap-Mobile.shader.meta │ │ ├── TMP_Bitmap.shader │ │ ├── TMP_Bitmap.shader.meta │ │ ├── TMP_SDF Overlay.shader │ │ ├── TMP_SDF Overlay.shader.meta │ │ ├── TMP_SDF SSD.shader │ │ ├── TMP_SDF SSD.shader.meta │ │ ├── TMP_SDF-Mobile Masking.shader │ │ ├── TMP_SDF-Mobile Masking.shader.meta │ │ ├── TMP_SDF-Mobile Overlay.shader │ │ ├── TMP_SDF-Mobile Overlay.shader.meta │ │ ├── TMP_SDF-Mobile SSD.shader │ │ ├── TMP_SDF-Mobile SSD.shader.meta │ │ ├── TMP_SDF-Mobile.shader │ │ ├── TMP_SDF-Mobile.shader.meta │ │ ├── TMP_SDF-Surface-Mobile.shader │ │ ├── TMP_SDF-Surface-Mobile.shader.meta │ │ ├── TMP_SDF-Surface.shader │ │ ├── TMP_SDF-Surface.shader.meta │ │ ├── TMP_SDF.shader │ │ ├── TMP_SDF.shader.meta │ │ ├── TMP_Sprite.shader │ │ ├── TMP_Sprite.shader.meta │ │ ├── TMPro.cginc │ │ ├── TMPro.cginc.meta │ │ ├── TMPro_Mobile.cginc │ │ ├── TMPro_Mobile.cginc.meta │ │ ├── TMPro_Properties.cginc │ │ ├── TMPro_Properties.cginc.meta │ │ ├── TMPro_Surface.cginc │ │ └── TMPro_Surface.cginc.meta │ ├── Sprites.meta │ └── Sprites │ │ ├── EmojiOne Attribution.txt │ │ ├── EmojiOne Attribution.txt.meta │ │ ├── EmojiOne.json │ │ ├── EmojiOne.json.meta │ │ ├── EmojiOne.png │ │ └── EmojiOne.png.meta ├── Textures.meta └── Textures │ ├── 1_px_solid_white.png │ ├── 1_px_solid_white.png.meta │ ├── Backgrounds.meta │ ├── Backgrounds │ ├── Background 2.png │ ├── Background 2.png.meta │ ├── Background 3.png │ ├── Background 3.png.meta │ ├── Background.png │ └── Background.png.meta │ ├── Emojis.meta │ ├── Emojis │ ├── 1.png │ ├── 1.png.meta │ ├── 10.png │ ├── 10.png.meta │ ├── 11.png │ ├── 11.png.meta │ ├── 12.png │ ├── 12.png.meta │ ├── 13.png │ ├── 13.png.meta │ ├── 14.png │ ├── 14.png.meta │ ├── 15.png │ ├── 15.png.meta │ ├── 16.png │ ├── 16.png.meta │ ├── 17.png │ ├── 17.png.meta │ ├── 18.png │ ├── 18.png.meta │ ├── 19.png │ ├── 19.png.meta │ ├── 2.png │ ├── 2.png.meta │ ├── 20.png │ ├── 20.png.meta │ ├── 21.png │ ├── 21.png.meta │ ├── 22.png │ ├── 22.png.meta │ ├── 23.png │ ├── 23.png.meta │ ├── 24.png │ ├── 24.png.meta │ ├── 25.png │ ├── 25.png.meta │ ├── 26.png │ ├── 26.png.meta │ ├── 27.png │ ├── 27.png.meta │ ├── 28.png │ ├── 28.png.meta │ ├── 29.png │ ├── 29.png.meta │ ├── 3.png │ ├── 3.png.meta │ ├── 30.png │ ├── 30.png.meta │ ├── 4.png │ ├── 4.png.meta │ ├── 5.png │ ├── 5.png.meta │ ├── 6.png │ ├── 6.png.meta │ ├── 7.png │ ├── 7.png.meta │ ├── 8.png │ ├── 8.png.meta │ ├── 9.png │ └── 9.png.meta │ ├── Gift Box Button.png │ ├── Gift Box Button.png.meta │ ├── UI.meta │ ├── UI │ ├── Pause.png │ ├── Pause.png.meta │ ├── Tick.png │ ├── Tick.png.meta │ ├── Trophy.png │ ├── Trophy.png.meta │ ├── btn_action_blue.png │ ├── btn_action_blue.png.meta │ ├── btn_close.png │ ├── btn_close.png.meta │ ├── btn_play.png │ ├── btn_play.png.meta │ ├── btn_standart.png │ ├── btn_standart.png.meta │ ├── button_blue.png │ ├── button_blue.png.meta │ ├── button_gray.png │ ├── button_gray.png.meta │ ├── button_green.png │ ├── button_green.png.meta │ ├── button_orange.png │ ├── button_orange.png.meta │ ├── button_purple.png │ ├── button_purple.png.meta │ ├── button_red.png │ ├── button_red.png.meta │ ├── button_sky.png │ ├── button_sky.png.meta │ ├── button_white.png │ ├── button_white.png.meta │ ├── button_yellow.png │ ├── button_yellow.png.meta │ ├── cancel.png │ ├── cancel.png.meta │ ├── character_lv_bar_bg.png │ ├── character_lv_bar_bg.png.meta │ ├── common_bg.png │ ├── common_bg.png.meta │ ├── common_bottom_shadow.png │ ├── common_bottom_shadow.png.meta │ ├── common_bottom_shadow_white.png │ ├── common_bottom_shadow_white.png.meta │ ├── lobby_menu_btn_blue.png │ ├── lobby_menu_btn_blue.png.meta │ ├── lobby_menu_btn_purple.png │ ├── lobby_menu_btn_purple.png.meta │ ├── restart.png │ ├── restart.png.meta │ ├── reward_icon_gold.png │ ├── reward_icon_gold.png.meta │ ├── top_btn_icon_home.png │ ├── top_btn_icon_home.png.meta │ ├── top_btn_icon_setting.png │ └── top_btn_icon_setting.png.meta │ ├── hand.png │ ├── hand.png.meta │ ├── hand_outline.png │ ├── hand_outline.png.meta │ ├── ray.png │ ├── ray.png.meta │ ├── ring.png │ ├── ring.png.meta │ ├── tiny_gradient.png │ └── tiny_gradient.png.meta ├── LICENSE ├── Packages ├── manifest.json └── packages-lock.json ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── MemorySettings.asset ├── NavMeshAreas.asset ├── PackageManagerSettings.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── SceneTemplateSettings.json ├── TagManager.asset ├── TimeManager.asset ├── UnityConnectSettings.asset ├── VFXManager.asset ├── VersionControlSettings.asset ├── XRSettings.asset └── boot.config ├── README.md └── UserSettings ├── EditorUserSettings.asset ├── Layouts └── default-2021.dwlt └── Search.settings /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Mm]emoryCaptures/ 12 | 13 | # Asset meta data should only be ignored when the corresponding asset is also ignored 14 | !/[Aa]ssets/**/*.meta 15 | 16 | # Uncomment this line if you wish to ignore the asset store tools plugin 17 | # /[Aa]ssets/AssetStoreTools* 18 | 19 | # Autogenerated Jetbrains Rider plugin 20 | [Aa]ssets/Plugins/Editor/JetBrains* 21 | 22 | # Visual Studio cache directory 23 | .vs/ 24 | 25 | # Gradle cache directory 26 | .gradle/ 27 | 28 | # Autogenerated VS/MD/Consulo solution and project files 29 | ExportedObj/ 30 | .consulo/ 31 | *.csproj 32 | *.unityproj 33 | *.sln 34 | *.suo 35 | *.tmp 36 | *.user 37 | *.userprefs 38 | *.pidb 39 | *.booproj 40 | *.svd 41 | *.pdb 42 | *.mdb 43 | *.opendb 44 | *.VC.db 45 | 46 | # Unity3D generated meta files 47 | *.pidb.meta 48 | *.pdb.meta 49 | *.mdb.meta 50 | 51 | # Unity3D generated file on crash reports 52 | sysinfo.txt 53 | 54 | # Builds 55 | *.apk 56 | *.unitypackage 57 | 58 | # Crashlytics generated file 59 | crashlytics-build.properties 60 | 61 | -------------------------------------------------------------------------------- /.idea/.idea.HyperTemplate/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Rider ignored files 5 | /modules.xml 6 | /contentModel.xml 7 | /projectSettingsUpdater.xml 8 | /.idea.HyperTemplate.iml 9 | # Editor-based HTTP Client requests 10 | /httpRequests/ 11 | # Datasource local storage ignored files 12 | /dataSources/ 13 | /dataSources.local.xml 14 | -------------------------------------------------------------------------------- /.idea/.idea.HyperTemplate/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.idea/.idea.HyperTemplate/.idea/indexLayout.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/.idea.HyperTemplate/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Assets/Fonts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc317a18b1cf3f942b89e5759323ac7b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Fonts/Bumpo SDF Text Mesh Material.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1cafb57003018f442b1271e74c135712 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Fonts/Bumpo SDF UI Material.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c77796450520349dd87bbd54cb65bf4c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Fonts/Bumpo.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Fonts/Bumpo.ttf -------------------------------------------------------------------------------- /Assets/Fonts/Bumpo.ttf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dca7afcde023a8a4a8aa8debbdbd5427 3 | TrueTypeFontImporter: 4 | externalObjects: {} 5 | serializedVersion: 4 6 | fontSize: 16 7 | forceTextureCase: -2 8 | characterSpacing: 0 9 | characterPadding: 1 10 | includeFontData: 1 11 | fontName: Bumpo 12 | fontNames: 13 | - Bumpo 14 | fallbackFontReferences: [] 15 | customCharacters: 16 | fontRenderingMode: 0 17 | ascentCalculationMode: 1 18 | useLegacyBoundsCalculation: 0 19 | shouldRoundAdvanceValue: 1 20 | userData: 21 | assetBundleName: 22 | assetBundleVariant: 23 | -------------------------------------------------------------------------------- /Assets/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d6f13f3d8bfbf74ba33aa4b2627df14 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Materials/EasyBackground.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fde2cd9f5aa409047a1d133bfbf1fed5 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Materials/InvisibleMask.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 74c1da0088c796141b426bf853221267 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Models.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2ef426ad30974c61820803020702296 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Models/FinishWall.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Models/FinishWall.fbx -------------------------------------------------------------------------------- /Assets/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 18e17b8ac8281cf458bc5f87d8850520 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9a5c3163b597a924eafd739c5ab69aa2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bf707f1e0c890744f94f049df5451618 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/DOTween.XML.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34192c5e0d14aee43a0e86cc4823268a 3 | TextScriptImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/DOTween.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Demigiant/DOTween/DOTween.dll -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/DOTween.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a811bde74b26b53498b4f6d872b09b6d 3 | PluginImporter: 4 | serializedVersion: 1 5 | iconMap: {} 6 | executionOrder: {} 7 | isPreloaded: 0 8 | platformData: 9 | Any: 10 | enabled: 1 11 | settings: {} 12 | Editor: 13 | enabled: 0 14 | settings: 15 | DefaultValueInitialized: true 16 | WindowsStoreApps: 17 | enabled: 0 18 | settings: 19 | CPU: AnyCPU 20 | userData: 21 | assetBundleName: 22 | assetBundleVariant: 23 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b27f58ae5d5c33a4bb2d1f4f34bd036d 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e2c6224d345d9249acfa6e8ef40bb2d 3 | TextScriptImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45d5034162d6cf04dbe46da84fc7d074 3 | PluginImporter: 4 | serializedVersion: 1 5 | iconMap: {} 6 | executionOrder: {} 7 | isPreloaded: 0 8 | platformData: 9 | Any: 10 | enabled: 0 11 | settings: {} 12 | Editor: 13 | enabled: 1 14 | settings: 15 | DefaultValueInitialized: true 16 | WindowsStoreApps: 17 | enabled: 0 18 | settings: 19 | CPU: AnyCPU 20 | userData: 21 | assetBundleName: 22 | assetBundleVariant: 23 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Editor/Imgs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0034ebae0c2a9344e897db1160d71b6d 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8da095e39e9b4df488dfd436f81116d6 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 1 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -3 25 | maxTextureSize: 128 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 2 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7051dba417b3d53409f2918f1ea4938d 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 1 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -3 25 | maxTextureSize: 256 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 2 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 519694efe2bb2914788b151fbd8c01f4 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: -1 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: -1 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 78a59ca99f8987941adb61f9e14a06a7 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 1 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -3 25 | maxTextureSize: 512 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 2 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Modules.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 143604b8bad857d47a6f7cc7a533e2dc 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b766d08851589514b97afb23c6f30a70 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dae9aa560b4242648a3affa2bfabc365 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 230fe34542e175245ba74b4659dae700 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 188918ab119d93148aa0de59ccf5286b 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a060394c03331a64392db53a10e7f2d1 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 63c02322328255542995bd02b47b0457 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7bcaf917d9cf5b84090421a5a2abe42e 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/readme.txt: -------------------------------------------------------------------------------- 1 | DOTween and DOTween Pro are copyright (c) 2014-2018 Daniele Giardini - Demigiant 2 | 3 | // IMPORTANT!!! ///////////////////////////////////////////// 4 | // Upgrading DOTween from versions older than 1.2.000 /////// 5 | // (or DOTween Pro older than 1.0.000) ////////////////////// 6 | ------------------------------------------------------------- 7 | If you're upgrading your project from a version of DOTween older than 1.2.000 (or DOTween Pro older than 1.0.000) please follow these instructions carefully. 8 | 1) Import the new version in the same folder as the previous one, overwriting old files. A lot of errors will appear but don't worry 9 | 2) Close and reopen Unity (and your project). This is fundamental: skipping this step will cause a bloodbath 10 | 3) Open DOTween's Utility Panel (Tools > Demigiant > DOTween Utility Panel) if it doesn't open automatically, then press "Setup DOTween...": this will run the upgrade setup 11 | 4) From the Add/Remove Modules panel that opens, activate/deactivate Modules for Unity systems and for external assets (Pro version only) 12 | 13 | // GET STARTED ////////////////////////////////////////////// 14 | 15 | - After importing a new DOTween update, select DOTween's Utility Panel from the "Tools/Demigiant" menu (if it doesn't open automatically) and press the "Setup DOTween..." button to activate/deactivate Modules. You can also access a Preferences Tab from there to choose default settings for DOTween. 16 | - In your code, add "using DG.Tweening" to each class where you want to use DOTween. 17 | - You're ready to tween. Check out the links below for full documentation and license info. 18 | 19 | 20 | // LINKS /////////////////////////////////////////////////////// 21 | 22 | DOTween website (documentation, examples, etc): http://dotween.demigiant.com 23 | DOTween license: http://dotween.demigiant.com/license.php 24 | DOTween repository (Google Code): https://code.google.com/p/dotween/ 25 | Demigiant website (documentation, examples, etc): http://www.demigiant.com 26 | 27 | // NOTES ////////////////////////////////////////////////////// 28 | 29 | - DOTween's Utility Panel can be found under "Tools > Demigiant > DOTween Utility Panel" and also contains other useful options, plus a tab to set DOTween's preferences -------------------------------------------------------------------------------- /Assets/Plugins/Demigiant/DOTween/readme.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fccfc62abf2eb0a4db614853430894fd 3 | TextScriptImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7a3d7645253a4d9fb2bec556984f240 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Documentaion.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Documentaion.pdf -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Documentaion.pdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cfa813ed406827e43b967abd54ab5b9a 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Examples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5a71259a40885244a8fda03175513ba5 3 | folderAsset: yes 4 | timeCreated: 1513537895 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Examples/Example Scene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 414bddd31c5ea4f4c9f5d1452e5bbb41 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Examples/Ground.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: Ground 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 0.372, g: 0.36052892, b: 0.351168, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Examples/Ground.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c569c280f0eb52a49a7b2a6b8b0cbcf8 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Examples/JoystickPlayerExample.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class JoystickPlayerExample : MonoBehaviour 6 | { 7 | public float speed; 8 | public VariableJoystick variableJoystick; 9 | public Rigidbody rb; 10 | 11 | public void FixedUpdate() 12 | { 13 | Vector3 direction = Vector3.forward * variableJoystick.Vertical + Vector3.right * variableJoystick.Horizontal; 14 | rb.AddForce(direction * speed * Time.fixedDeltaTime, ForceMode.VelocityChange); 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Examples/JoystickPlayerExample.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a37d705c8e9115e439ec799186182634 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Examples/JoystickSetterExample.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.UI; 5 | 6 | public class JoystickSetterExample : MonoBehaviour 7 | { 8 | public VariableJoystick variableJoystick; 9 | public Text valueText; 10 | public Image background; 11 | public Sprite[] axisSprites; 12 | 13 | public void ModeChanged(int index) 14 | { 15 | switch(index) 16 | { 17 | case 0: 18 | variableJoystick.SetMode(JoystickType.Fixed); 19 | break; 20 | case 1: 21 | variableJoystick.SetMode(JoystickType.Floating); 22 | break; 23 | case 2: 24 | variableJoystick.SetMode(JoystickType.Dynamic); 25 | break; 26 | default: 27 | break; 28 | } 29 | } 30 | 31 | public void AxisChanged(int index) 32 | { 33 | switch (index) 34 | { 35 | case 0: 36 | variableJoystick.AxisOptions = AxisOptions.Both; 37 | background.sprite = axisSprites[index]; 38 | break; 39 | case 1: 40 | variableJoystick.AxisOptions = AxisOptions.Horizontal; 41 | background.sprite = axisSprites[index]; 42 | break; 43 | case 2: 44 | variableJoystick.AxisOptions = AxisOptions.Vertical; 45 | background.sprite = axisSprites[index]; 46 | break; 47 | default: 48 | break; 49 | } 50 | } 51 | 52 | public void SnapX(bool value) 53 | { 54 | variableJoystick.SnapX = value; 55 | } 56 | 57 | public void SnapY(bool value) 58 | { 59 | variableJoystick.SnapY = value; 60 | } 61 | 62 | private void Update() 63 | { 64 | valueText.text = "Current Value: " + variableJoystick.Direction; 65 | } 66 | } -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Examples/JoystickSetterExample.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d73bf03f88f371469fd7b43fc97d77e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Examples/Player.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: Player 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 0, g: 0.5844655, b: 1, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Examples/Player.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 59e4faf24927edf4a82f463ad16f1c37 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d41e4075f56d1e1438b3af3673ec6081 3 | folderAsset: yes 4 | timeCreated: 1513538369 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Prefabs/Dynamic Joystick.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 56fae09712773584fb63896d473a98ee 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Prefabs/Fixed Joystick.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aaa2c939c0359ac4dbce3f49e8b90252 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Prefabs/Floating Joystick.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d230cc8be529a542a08cb878ab14b18 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Prefabs/Variable Joystick.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec536a7718376554185e4a856d5ae230 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 07b685cbd69eaf049b40883b45f5bae2 3 | folderAsset: yes 4 | timeCreated: 1513537854 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Base.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 04bf1fec540b6ee4987dc6524756477c 3 | folderAsset: yes 4 | timeCreated: 1513537865 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Base/Joystick.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9fca4100a7477741b3973b4ff2c405f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8bf1b896f4e24d441975cb6f11f92e74 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Editor/DynamicJoystickEditor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | 6 | [CustomEditor(typeof(DynamicJoystick))] 7 | public class DynamicJoystickEditor : JoystickEditor 8 | { 9 | private SerializedProperty moveThreshold; 10 | 11 | protected override void OnEnable() 12 | { 13 | base.OnEnable(); 14 | moveThreshold = serializedObject.FindProperty("moveThreshold"); 15 | } 16 | 17 | public override void OnInspectorGUI() 18 | { 19 | base.OnInspectorGUI(); 20 | 21 | if (background != null) 22 | { 23 | RectTransform backgroundRect = (RectTransform)background.objectReferenceValue; 24 | backgroundRect.anchorMax = Vector2.zero; 25 | backgroundRect.anchorMin = Vector2.zero; 26 | backgroundRect.pivot = center; 27 | } 28 | } 29 | 30 | protected override void DrawValues() 31 | { 32 | base.DrawValues(); 33 | EditorGUILayout.PropertyField(moveThreshold, new GUIContent("Move Threshold", "The distance away from the center input has to be before the joystick begins to move.")); 34 | } 35 | } -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Editor/DynamicJoystickEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 52071c88a467b46438b3cbf159bf988b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Editor/FloatingJoystickEditor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | 6 | [CustomEditor(typeof(FloatingJoystick))] 7 | public class FloatingJoystickEditor : JoystickEditor 8 | { 9 | public override void OnInspectorGUI() 10 | { 11 | base.OnInspectorGUI(); 12 | 13 | if (background != null) 14 | { 15 | RectTransform backgroundRect = (RectTransform)background.objectReferenceValue; 16 | backgroundRect.anchorMax = Vector2.zero; 17 | backgroundRect.anchorMin = Vector2.zero; 18 | backgroundRect.pivot = center; 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Editor/FloatingJoystickEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 614d06243900d764f9c50b4da2c950a3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Editor/JoystickEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d4b2b0d911a01a64ebfca9918e2b90b4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Editor/VariableJoystickEditor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | using UnityEditor; 6 | 7 | [CustomEditor(typeof(VariableJoystick))] 8 | public class VariableJoystickEditor : JoystickEditor 9 | { 10 | private SerializedProperty moveThreshold; 11 | private SerializedProperty joystickType; 12 | 13 | protected override void OnEnable() 14 | { 15 | base.OnEnable(); 16 | moveThreshold = serializedObject.FindProperty("moveThreshold"); 17 | joystickType = serializedObject.FindProperty("joystickType"); 18 | } 19 | 20 | public override void OnInspectorGUI() 21 | { 22 | base.OnInspectorGUI(); 23 | 24 | if (background != null) 25 | { 26 | RectTransform backgroundRect = (RectTransform)background.objectReferenceValue; 27 | backgroundRect.pivot = center; 28 | } 29 | } 30 | 31 | protected override void DrawValues() 32 | { 33 | base.DrawValues(); 34 | EditorGUILayout.PropertyField(moveThreshold, new GUIContent("Move Threshold", "The distance away from the center input has to be before the joystick begins to move.")); 35 | EditorGUILayout.PropertyField(joystickType, new GUIContent("Joystick Type", "The type of joystick the variable joystick is current using.")); 36 | } 37 | } -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Editor/VariableJoystickEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58b5a2db95af76c4c9d4116a09ec3697 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Joysticks.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30f674d88470a814e8648e216b61b9ef 3 | folderAsset: yes 4 | timeCreated: 1513537874 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Joysticks/DynamicJoystick.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.EventSystems; 5 | 6 | public class DynamicJoystick : Joystick 7 | { 8 | public float MoveThreshold { get { return moveThreshold; } set { moveThreshold = Mathf.Abs(value); } } 9 | 10 | [SerializeField] private float moveThreshold = 1; 11 | 12 | protected override void Start() 13 | { 14 | MoveThreshold = moveThreshold; 15 | base.Start(); 16 | background.gameObject.SetActive(false); 17 | } 18 | 19 | public override void OnPointerDown(PointerEventData eventData) 20 | { 21 | background.anchoredPosition = ScreenPointToAnchoredPosition(eventData.position); 22 | background.gameObject.SetActive(true); 23 | base.OnPointerDown(eventData); 24 | } 25 | 26 | public override void OnPointerUp(PointerEventData eventData) 27 | { 28 | background.gameObject.SetActive(false); 29 | base.OnPointerUp(eventData); 30 | } 31 | 32 | protected override void HandleInput(float magnitude, Vector2 normalised, Vector2 radius, Camera cam) 33 | { 34 | if (magnitude > moveThreshold) 35 | { 36 | Vector2 difference = normalised * (magnitude - moveThreshold) * radius; 37 | background.anchoredPosition += difference; 38 | } 39 | base.HandleInput(magnitude, normalised, radius, cam); 40 | } 41 | } -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Joysticks/DynamicJoystick.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba0d0e7a039f526499c356a3c5cd6d3f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Joysticks/FixedJoystick.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class FixedJoystick : Joystick 6 | { 7 | 8 | } -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Joysticks/FixedJoystick.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45977bbae16431c46a013576a1aea384 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Joysticks/FloatingJoystick.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.EventSystems; 5 | 6 | public class FloatingJoystick : Joystick 7 | { 8 | protected override void Start() 9 | { 10 | base.Start(); 11 | background.gameObject.SetActive(false); 12 | } 13 | 14 | public override void OnPointerDown(PointerEventData eventData) 15 | { 16 | background.anchoredPosition = ScreenPointToAnchoredPosition(eventData.position); 17 | background.gameObject.SetActive(true); 18 | base.OnPointerDown(eventData); 19 | } 20 | 21 | public override void OnPointerUp(PointerEventData eventData) 22 | { 23 | background.gameObject.SetActive(false); 24 | base.OnPointerUp(eventData); 25 | } 26 | } -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Joysticks/FloatingJoystick.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a47f546fc70ec8428172694e78e4288 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Joysticks/VariableJoystick.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.EventSystems; 5 | 6 | public class VariableJoystick : Joystick 7 | { 8 | public float MoveThreshold { get { return moveThreshold; } set { moveThreshold = Mathf.Abs(value); } } 9 | 10 | [SerializeField] private float moveThreshold = 1; 11 | [SerializeField] private JoystickType joystickType = JoystickType.Fixed; 12 | 13 | private Vector2 fixedPosition = Vector2.zero; 14 | 15 | public void SetMode(JoystickType joystickType) 16 | { 17 | this.joystickType = joystickType; 18 | if(joystickType == JoystickType.Fixed) 19 | { 20 | background.anchoredPosition = fixedPosition; 21 | background.gameObject.SetActive(true); 22 | } 23 | else 24 | background.gameObject.SetActive(false); 25 | } 26 | 27 | protected override void Start() 28 | { 29 | base.Start(); 30 | fixedPosition = background.anchoredPosition; 31 | SetMode(joystickType); 32 | } 33 | 34 | public override void OnPointerDown(PointerEventData eventData) 35 | { 36 | if(joystickType != JoystickType.Fixed) 37 | { 38 | background.anchoredPosition = ScreenPointToAnchoredPosition(eventData.position); 39 | background.gameObject.SetActive(true); 40 | } 41 | base.OnPointerDown(eventData); 42 | } 43 | 44 | public override void OnPointerUp(PointerEventData eventData) 45 | { 46 | if(joystickType != JoystickType.Fixed) 47 | background.gameObject.SetActive(false); 48 | 49 | base.OnPointerUp(eventData); 50 | } 51 | 52 | protected override void HandleInput(float magnitude, Vector2 normalised, Vector2 radius, Camera cam) 53 | { 54 | if (joystickType == JoystickType.Dynamic && magnitude > moveThreshold) 55 | { 56 | Vector2 difference = normalised * (magnitude - moveThreshold) * radius; 57 | background.anchoredPosition += difference; 58 | } 59 | base.HandleInput(magnitude, normalised, radius, cam); 60 | } 61 | } 62 | 63 | public enum JoystickType { Fixed, Floating, Dynamic } -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Scripts/Joysticks/VariableJoystick.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 42844a4fccbd54746b90cade4ff70f73 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f36f8459cb8c3fd44ba4390ba9652af8 3 | folderAsset: yes 4 | timeCreated: 1513710650 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/All Axis Backgrounds.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ca78f589dc53fd419c85dd20ea22ade 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/All Axis Backgrounds/AllAxis_Outline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/All Axis Backgrounds/AllAxis_Outline.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/All Axis Backgrounds/AllAxis_Outline_Arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/All Axis Backgrounds/AllAxis_Outline_Arrows.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/All Axis Backgrounds/AllAxis_Plain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/All Axis Backgrounds/AllAxis_Plain.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/All Axis Backgrounds/AllAxis_Plain_Arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/All Axis Backgrounds/AllAxis_Plain_Arrows.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/All Axis Backgrounds/AllAxis_Ridged.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/All Axis Backgrounds/AllAxis_Ridged.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/All Axis Backgrounds/AllAxis_Ridged_Arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/All Axis Backgrounds/AllAxis_Ridged_Arrows.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Handles.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f3c65e147711ac449f6bbd5e7da81df 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Handles/Handle_Outline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Handles/Handle_Outline.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Handles/Handle_Outline_Arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Handles/Handle_Outline_Arrows.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Handles/Handle_Plain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Handles/Handle_Plain.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Handles/Handle_Plain_Arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Handles/Handle_Plain_Arrows.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Handles/Handle_Ridged.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Handles/Handle_Ridged.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Handles/Handle_Ridged_Arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Handles/Handle_Ridged_Arrows.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Horizontal Backgrounds.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4fe6b423a92ebaf4bb564f9457fa74e4 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Horizontal Backgrounds/Horizontal_Outline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Horizontal Backgrounds/Horizontal_Outline.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Horizontal Backgrounds/Horizontal_Outline_Arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Horizontal Backgrounds/Horizontal_Outline_Arrows.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Horizontal Backgrounds/Horizontal_Plain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Horizontal Backgrounds/Horizontal_Plain.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Horizontal Backgrounds/Horizontal_Plain_Arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Horizontal Backgrounds/Horizontal_Plain_Arrows.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Horizontal Backgrounds/Horizontal_Ridged.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Horizontal Backgrounds/Horizontal_Ridged.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Horizontal Backgrounds/Horizontal_Ridged_Arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Horizontal Backgrounds/Horizontal_Ridged_Arrows.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Vertical Backgrounds.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 90487ea2fbd75ca4aafda6529e728976 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Vertical Backgrounds/Vertical_Outline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Vertical Backgrounds/Vertical_Outline.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Vertical Backgrounds/Vertical_Outline_Arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Vertical Backgrounds/Vertical_Outline_Arrows.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Vertical Backgrounds/Vertical_Plain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Vertical Backgrounds/Vertical_Plain.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Vertical Backgrounds/Vertical_Plain_Arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Vertical Backgrounds/Vertical_Plain_Arrows.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Vertical Backgrounds/Vertical_Ridged.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Vertical Backgrounds/Vertical_Ridged.png -------------------------------------------------------------------------------- /Assets/Plugins/Joystick Pack/Sprites/Vertical Backgrounds/Vertical_Ridged_Arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SinanErmis/HyperTemplate/c6166e8b516b0078eb5a104b7b5c280fd9cfb97a/Assets/Plugins/Joystick Pack/Sprites/Vertical Backgrounds/Vertical_Ridged_Arrows.png -------------------------------------------------------------------------------- /Assets/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc19fcd031d068c4595e3fb8879af446 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Prefabs/FinishWall.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 66e5ef90c586e44a9af52180e955fcc2 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Prefabs/Level_000.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &6458889838369125372 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 3567698043127499296} 12 | - component: {fileID: 8297787615059747988} 13 | m_Layer: 0 14 | m_Name: Level_000 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &3567698043127499296 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 6458889838369125372} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0, y: 0, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!114 &8297787615059747988 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 6458889838369125372} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: 43124313fcff4e869c5aeee26c270443, type: 3} 44 | m_Name: 45 | m_EditorClassIdentifier: 46 | -------------------------------------------------------------------------------- /Assets/Prefabs/Level_000.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7b030a6fa553514fa7ca69f7f09ccac 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Prefabs/Skybox.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 483347cb8d7666b46b27ad5914b901a3 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Prefabs/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d601e0a16a3f62a48ac22a42c7419c37 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Prefabs/UI/Chest.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be50a13a992cc8c469e9bf3ee59f098e 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Prefabs/UI/CursorCanvas.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ac8b7f951c14754f86a5e8692f5a901 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Prefabs/UI/HorizontalProgressBar.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8221a1a2fb627c24c8a9b2c7c452767e 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Prefabs/UI/VerticalProgressBar.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe8a20fd265e0cb49b2f25b227ae7034 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b2fa2e2fc9072db40bf54ff26ff79928 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Resources/DOTweenSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 16995157, guid: a811bde74b26b53498b4f6d872b09b6d, type: 3} 13 | m_Name: DOTweenSettings 14 | m_EditorClassIdentifier: 15 | useSafeMode: 1 16 | safeModeOptions: 17 | nestedTweenFailureBehaviour: 0 18 | timeScale: 1 19 | useSmoothDeltaTime: 0 20 | maxSmoothUnscaledTime: 0.15 21 | rewindCallbackMode: 0 22 | showUnityEditorReport: 0 23 | logBehaviour: 0 24 | drawGizmos: 1 25 | defaultRecyclable: 0 26 | defaultAutoPlay: 3 27 | defaultUpdateType: 0 28 | defaultTimeScaleIndependent: 0 29 | defaultEaseType: 6 30 | defaultEaseOvershootOrAmplitude: 1.70158 31 | defaultEasePeriod: 0 32 | defaultAutoKill: 1 33 | defaultLoopType: 0 34 | debugMode: 0 35 | debugStoreTargetId: 0 36 | showPreviewPanel: 1 37 | storeSettingsLocation: 0 38 | modules: 39 | showPanel: 0 40 | audioEnabled: 1 41 | physicsEnabled: 1 42 | physics2DEnabled: 1 43 | spriteEnabled: 1 44 | uiEnabled: 1 45 | textMeshProEnabled: 0 46 | tk2DEnabled: 0 47 | deAudioEnabled: 0 48 | deUnityExtendedEnabled: 0 49 | showPlayingTweens: 0 50 | showPausedTweens: 0 51 | -------------------------------------------------------------------------------- /Assets/Resources/DOTweenSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85f7e273e0872894aa4de8795525775c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0ae4cf242ee93846b0df1dedd3c9fb8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes/Game.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9fc0d4010bbf28b4594072e72b8655ab 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fea1e220af506e645a8fa0fecb5849de 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Core.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d09d17ede75d0014c88b28acf105d016 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Core/AnalyticsManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Toolkit; 3 | using UnityEngine; 4 | 5 | namespace Rhodos.Core 6 | { 7 | /// 8 | /// This class for can be used for send analytics events to the server. 9 | /// To use with different SDKs replace body of SendEvent() method. 10 | /// 11 | public class AnalyticsManager : SingletonBehaviour 12 | { 13 | private int _lastPlayedLevelOrder = -1; 14 | private static float _lastInterstitialTime; 15 | private const float INTERSTITIAL_INTERVAL = 30f; 16 | 17 | #region Keys 18 | 19 | private const string PLAYED_ONCE_KEY = "PlayedOnce"; 20 | private const string LIFETIME_INTERSTITIAL_KEY = "LifetimeInterstitial"; 21 | 22 | #endregion 23 | 24 | private bool DidPlayerPlayOnce 25 | { 26 | get => PlayerPrefs.GetInt(PLAYED_ONCE_KEY, 0) == 1; 27 | set => PlayerPrefs.SetInt(PLAYED_ONCE_KEY, 1); 28 | } 29 | 30 | private void OnApplicationQuit() 31 | { 32 | if (!DidPlayerPlayOnce) 33 | { 34 | SendEvent($"First_Session_Level_{_lastPlayedLevelOrder}"); 35 | SendEvent($"First_Session_Interstitial_Count_{GetLifetimeInterstitial()}"); 36 | DidPlayerPlayOnce = true; 37 | } 38 | } 39 | 40 | public static void ShowInterstitial() 41 | { 42 | if (Time.realtimeSinceStartup - _lastInterstitialTime >= INTERSTITIAL_INTERVAL) 43 | { 44 | SendEvent("Fake_interstitial"); 45 | IncreaseLifetimeInterstitial(); 46 | SendEvent($"{LIFETIME_INTERSTITIAL_KEY}_{GetLifetimeInterstitial()}"); 47 | _lastInterstitialTime = Time.realtimeSinceStartup; 48 | } 49 | } 50 | 51 | private static void IncreaseLifetimeInterstitial() => 52 | PlayerPrefs.SetInt(LIFETIME_INTERSTITIAL_KEY, GetLifetimeInterstitial() + 1); 53 | private static int GetLifetimeInterstitial() => PlayerPrefs.GetInt(LIFETIME_INTERSTITIAL_KEY, 0); 54 | 55 | 56 | private static void SendEvent(string eventMessage) => Debug.Log($"EVENT: {eventMessage} "); 57 | } 58 | } -------------------------------------------------------------------------------- /Assets/Scripts/Core/AnalyticsManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48ccfe4e12054b59a02c47cc143da2db 3 | timeCreated: 1598972833 -------------------------------------------------------------------------------- /Assets/Scripts/Core/CameraManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb0dbe3c34404ceeb15efc4d28b33196 3 | timeCreated: 1599137850 -------------------------------------------------------------------------------- /Assets/Scripts/Core/GameManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using NaughtyAttributes; 4 | using Rhodos.Mechanics.Bases; 5 | using Toolkit; 6 | using UnityEngine; 7 | 8 | namespace Rhodos.Core 9 | { 10 | /// 11 | /// General game manager. Handles game flow and also serves as service locator. 12 | /// 13 | public class GameManager : SingletonBehaviour 14 | { 15 | public bool canPlay; 16 | public GameType gameType; 17 | 18 | /// 19 | /// Handles mechanic change and/or level success status. 20 | /// 21 | public Coroutine OnSuccess() 22 | { 23 | return StartCoroutine(InnerOnSuccess()); 24 | 25 | IEnumerator InnerOnSuccess() 26 | { 27 | yield return StartCoroutine(MechanicManager.Instance.ActiveMechanic.OnEnd()); 28 | 29 | if (MechanicManager.Instance.DidLevelEnd) 30 | { 31 | SaveLoadManager.Instance.IncreaseLevel(); 32 | StartCoroutine(UIManager.Instance.ChangeUI(UIManager.MainScreens.Success)); 33 | AnalyticsManager.ShowInterstitial(); 34 | } 35 | else 36 | { 37 | MechanicManager.Instance.IncreaseMechanicCounter(); 38 | yield return StartCoroutine(MechanicManager.Instance.ActiveMechanic.OnStart()); 39 | } 40 | } 41 | } 42 | 43 | public Coroutine OnFail() 44 | { 45 | return StartCoroutine(InnerOnFail()); 46 | 47 | IEnumerator InnerOnFail() 48 | { 49 | yield return StartCoroutine(MechanicManager.Instance.ActiveMechanic.OnFail()); 50 | StartCoroutine(UIManager.Instance.ChangeUI(UIManager.MainScreens.Fail)); 51 | } 52 | } 53 | 54 | public enum GameType 55 | { 56 | UniqueLevels, 57 | UniqueMechanics 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /Assets/Scripts/Core/GameManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb34425c72534fdeafdac0a2c173435a 3 | timeCreated: 1627888860 -------------------------------------------------------------------------------- /Assets/Scripts/Core/LevelManager.cs: -------------------------------------------------------------------------------- 1 | using Rhodos.Mechanics.Bases; 2 | using Toolkit; 3 | using UnityEngine; 4 | using UnityEngine.SceneManagement; 5 | 6 | namespace Rhodos.Core 7 | { 8 | public class LevelManager : SingletonBehaviour 9 | { 10 | [SerializeField] private Level[] allLevels; 11 | [SerializeField] private Level testLevel; 12 | [SerializeField] private Transform levelHolder; 13 | 14 | public static Level ActiveLevel { get; private set; } 15 | 16 | private void Start() 17 | { 18 | ActiveLevel = CreateLevel(); 19 | MechanicManager.Instance.mechanics = ActiveLevel.LevelMechanics; 20 | } 21 | 22 | /// 23 | /// Creates test level if exists, otherwise creates next level. 24 | /// 25 | /// 26 | private Level CreateLevel() 27 | { 28 | Level level = Instantiate(testLevel != null ? testLevel : allLevels[SaveLoadManager.GetLevel() % allLevels.Length], 29 | levelHolder); 30 | return level; 31 | } 32 | 33 | public static void RestartScene() => SceneManager.LoadScene("Game"); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /Assets/Scripts/Core/LevelManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 27a88751934645aa96c632751456515b 3 | timeCreated: 1598973249 -------------------------------------------------------------------------------- /Assets/Scripts/Core/MechanicManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using MyBox; 3 | using NaughtyAttributes; 4 | using Rhodos.Mechanics.Bases; 5 | using Toolkit; 6 | using UnityEngine; 7 | 8 | namespace Rhodos.Core 9 | { 10 | public class MechanicManager : SingletonBehaviour 11 | { 12 | [HideInInspector] public bool isGameTypeUniqueMechanics; 13 | [EnableIf("isGameTypeUniqueMechanics")] public Mechanic[] mechanics; 14 | 15 | public Mechanic ActiveMechanic => mechanics[_index]; 16 | private int _index; 17 | 18 | public bool DidLevelEnd => _index + 1 >= mechanics.Length; 19 | public void IncreaseMechanicCounter() => _index++; 20 | 21 | private void Update() 22 | { 23 | if(!GameManager.Instance.canPlay) return; 24 | 25 | if (Input.GetMouseButtonDown(0)) 26 | ActiveMechanic.OnDown(); 27 | else if (Input.GetMouseButton(0)) 28 | ActiveMechanic.OnDrag(); 29 | else if (Input.GetMouseButtonUp(0)) 30 | ActiveMechanic.OnUp(); 31 | } 32 | 33 | } 34 | } -------------------------------------------------------------------------------- /Assets/Scripts/Core/MechanicManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43fb0e2dd4644720a261f89f307844a2 3 | timeCreated: 1598942218 -------------------------------------------------------------------------------- /Assets/Scripts/Core/SaveLoadManager.cs: -------------------------------------------------------------------------------- 1 | using Toolkit; 2 | using UnityEngine; 3 | 4 | namespace Rhodos.Core 5 | { 6 | public class SaveLoadManager : SingletonBehaviour 7 | { 8 | public void IncreaseLevel() => PlayerPrefs.SetInt("Level", GetLevel() + 1); 9 | public static int GetLevel() => PlayerPrefs.GetInt("Level", 0); 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Scripts/Core/SaveLoadManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 86f27834526d48088ccbea6eca26f702 3 | timeCreated: 1598974010 -------------------------------------------------------------------------------- /Assets/Scripts/Core/UIManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using DG.Tweening; 4 | using MyBox; 5 | using UnityEngine; 6 | using UnityEngine.UI; 7 | using Rhodos.UI; 8 | using Toolkit; 9 | 10 | namespace Rhodos.Core 11 | { 12 | public class UIManager : SingletonBehaviour 13 | { 14 | public UIScreen ActiveScreen { get; private set; } 15 | 16 | private IEnumerator Start() 17 | { 18 | yield return null; 19 | StartCoroutine(ChangeUI(MainScreens.MainMenu)); 20 | } 21 | 22 | public IEnumerator ChangeUI(UIScreen uiScreen) 23 | { 24 | if (ActiveScreen) yield return StartCoroutine(ActiveScreen.PlayOutAnimation()); 25 | ActiveScreen = uiScreen; 26 | if (ActiveScreen) yield return StartCoroutine(ActiveScreen.PlayInAnimation()); 27 | } 28 | public IEnumerator ChangeUI(MainScreens screen) 29 | { 30 | UIScreen uiScreen = screen switch 31 | { 32 | MainScreens.MainMenu => mainMenu, 33 | MainScreens.Success => success, 34 | MainScreens.Fail => fail, 35 | _ => throw new ArgumentOutOfRangeException(nameof(screen), screen, null) 36 | }; 37 | 38 | return ChangeUI(uiScreen); 39 | } 40 | 41 | // ! future idea 42 | /*enum GameStartType 43 | { 44 | WithPlayButton, //simple one 45 | SeamlessButton, //again with a button, but this button triggers first OnDown so creates a seamless transition 46 | WithoutAnything,//start first mechanic when scene loaded 47 | }*/ 48 | 49 | public enum MainScreens 50 | { 51 | MainMenu, 52 | Success, 53 | Fail 54 | } 55 | 56 | [SerializeField] private MainMenu mainMenu; 57 | [SerializeField] private SuccessScreen success; 58 | [SerializeField] private FailScreen fail; 59 | 60 | 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Assets/Scripts/Core/UIManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 31322b7bc4d04c9f98b1a4d8a452058f 3 | timeCreated: 1598940643 -------------------------------------------------------------------------------- /Assets/Scripts/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a3122b95b1b4e3ab95e5290960e5e01 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Editor/GenericDictionaryPropertyDrawer.cs: -------------------------------------------------------------------------------- 1 | using Rhodos.Toolkit; 2 | using UnityEditor; 3 | using UnityEngine; 4 | 5 | namespace Rhodos.Editor 6 | { 7 | /// 8 | /// Draws the generic dictionary a bit nicer than Unity would natively (not as many expand-arrows 9 | /// and better spacing between KeyValue pairs). Also renders a warning-box if there are duplicate 10 | /// keys in the dictionary. 11 | /// 12 | [CustomPropertyDrawer(typeof(GenericDictionary<,>))] 13 | public class GenericDictionaryPropertyDrawer : PropertyDrawer 14 | { 15 | private static readonly float LineHeight = EditorGUIUtility.singleLineHeight; 16 | private static readonly float VertSpace = EditorGUIUtility.standardVerticalSpacing; 17 | 18 | public override void OnGUI(Rect pos, SerializedProperty property, GUIContent label) 19 | { 20 | // Draw list. 21 | var list = property.FindPropertyRelative("list"); 22 | string fieldName = ObjectNames.NicifyVariableName(fieldInfo.Name); 23 | var currentPos = new Rect(LineHeight, pos.y, pos.width, LineHeight); 24 | EditorGUI.PropertyField(currentPos, list, new GUIContent(fieldName), true); 25 | 26 | // Draw key collision warning. 27 | var keyCollision = property.FindPropertyRelative("keyCollision").boolValue; 28 | if (keyCollision) 29 | { 30 | currentPos.y += EditorGUI.GetPropertyHeight(list, true) + VertSpace; 31 | var entryPos = new Rect(LineHeight, currentPos.y, pos.width, LineHeight * 2f); 32 | EditorGUI.HelpBox(entryPos, "Duplicate keys will not be serialized.", MessageType.Warning); 33 | } 34 | } 35 | 36 | public override float GetPropertyHeight(SerializedProperty property, GUIContent label) 37 | { 38 | float totHeight = 0f; 39 | 40 | // Height of KeyValue list. 41 | var listProp = property.FindPropertyRelative("list"); 42 | totHeight += EditorGUI.GetPropertyHeight(listProp, true); 43 | 44 | // Height of key collision warning. 45 | bool keyCollision = property.FindPropertyRelative("keyCollision").boolValue; 46 | if (keyCollision) 47 | { 48 | totHeight += LineHeight * 2f + VertSpace; 49 | } 50 | 51 | return totHeight; 52 | } 53 | } 54 | 55 | } -------------------------------------------------------------------------------- /Assets/Scripts/Editor/GenericDictionaryPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 408e407889974f98806c4ea9a4edf82d 3 | timeCreated: 1613046980 -------------------------------------------------------------------------------- /Assets/Scripts/FinishWall.cs: -------------------------------------------------------------------------------- 1 | using MyBox; 2 | using TMPro; 3 | using UnityEngine; 4 | using UnityEngine.Events; 5 | 6 | namespace Rhodos 7 | { 8 | public class FinishWall : MonoBehaviour 9 | { 10 | [SerializeField] private Rigidbody[] bricks; 11 | [SerializeField] private GameObject wholeCube; 12 | [SerializeField] private TextMeshPro text; 13 | [SerializeField] private float forceMultiplier = 100f; 14 | [SerializeField] private UnityEvent triggerEvent; 15 | 16 | public void SetColor(Color c) 17 | { 18 | foreach (var brick in bricks) 19 | { 20 | brick.GetComponent().material.color = c; 21 | } 22 | 23 | wholeCube.GetComponent().material.color = c; 24 | } 25 | 26 | public void SetText(string s) => text.text = s; 27 | 28 | public void Break() 29 | { 30 | GetComponent().enabled = false; 31 | wholeCube.SetActive(false); 32 | foreach (var rb in bricks) 33 | { 34 | rb.gameObject.SetActive(true); 35 | rb.AddForce(rb.transform.localPosition * forceMultiplier, ForceMode.Force); 36 | } 37 | 38 | text.gameObject.SetActive(false); 39 | this.DelayedAction(3f, () => gameObject.SetActive(false)); 40 | } 41 | 42 | private void OnTriggerEnter(Collider other) 43 | { 44 | triggerEvent?.Invoke(other); 45 | } 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /Assets/Scripts/FinishWall.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 59eea59f45fcc474db893bf90301841d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Level.cs: -------------------------------------------------------------------------------- 1 | using Rhodos.Mechanics.Bases; 2 | using UnityEngine; 3 | 4 | namespace Rhodos 5 | { 6 | public class Level : MonoBehaviour 7 | { 8 | [field : SerializeField] public Mechanic[] LevelMechanics { get; private set; } 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Scripts/Level.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43124313fcff4e869c5aeee26c270443 3 | timeCreated: 1599134283 -------------------------------------------------------------------------------- /Assets/Scripts/Mechanics.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4db05987871f4e2d8448decb36b34cf0 3 | timeCreated: 1609401067 -------------------------------------------------------------------------------- /Assets/Scripts/Mechanics/Bases.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 18abb2f58ea24c147b7d0957f71867a8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Mechanics/Bases/InstantSwipeMechanicWithDirection.cs: -------------------------------------------------------------------------------- 1 | using Rhodos.Toolkit; 2 | using UnityEngine; 3 | 4 | namespace Rhodos.Mechanics.Bases 5 | { 6 | /// 7 | /// A base mechanic class that triggers SwipeAction with a direction and magnitude in every frame that drag continues. 8 | /// 9 | public abstract class InstantSwipeMechanicWithDirection : Mechanic 10 | { 11 | private Vector2 _firstPos; 12 | 13 | public override void OnDown() 14 | { 15 | _firstPos = Input.mousePosition; 16 | } 17 | 18 | public override void OnDrag() 19 | { 20 | Vector2 swipe = (Vector2) Input.mousePosition - _firstPos; 21 | 22 | //That means if move is in vertical axis 23 | if (Mathf.Abs(swipe.y) > Mathf.Abs(swipe.x)) 24 | { 25 | SwipeAction((swipe.y > 0f ? Direction.Up : Direction.Down), swipe.magnitude); 26 | } 27 | else //if move is in horizontal axis 28 | { 29 | SwipeAction(swipe.x > 0f ? Direction.Right : Direction.Left, swipe.magnitude); 30 | } 31 | } 32 | 33 | protected abstract void SwipeAction(Direction direction, float magnitude); 34 | } 35 | } -------------------------------------------------------------------------------- /Assets/Scripts/Mechanics/Bases/InstantSwipeMechanicWithDirection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eff7b62b9bf247229c18ced230e158b8 3 | timeCreated: 1609401641 -------------------------------------------------------------------------------- /Assets/Scripts/Mechanics/Bases/InstantVectorSwipeMechanic.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Rhodos.Mechanics.Bases 4 | { 5 | /// 6 | /// A base mechanic class that triggers SwipeAction with a vector2 in every frame that drag continues. 7 | /// 8 | /// 9 | public abstract class InstantVectorSwipeMechanic : Mechanic 10 | { 11 | [Header("Mechanic Settings")] 12 | [Tooltip("If true, SwipeAction will be triggered with an Vector2 which is accumulated since touch starts")] 13 | [SerializeField] private bool isCumulative; 14 | 15 | private Vector2 _firstPos; 16 | public override void OnDown() 17 | { 18 | _firstPos = Input.mousePosition; 19 | } 20 | public override void OnDrag() 21 | { 22 | SwipeAction((Vector2) Input.mousePosition - _firstPos); 23 | if (!isCumulative) _firstPos = Input.mousePosition; 24 | } 25 | 26 | protected abstract void SwipeAction(Vector2 swipe); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Assets/Scripts/Mechanics/Bases/InstantVectorSwipeMechanic.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3cb50bfe33e24310a249882d61209745 3 | timeCreated: 1609402897 -------------------------------------------------------------------------------- /Assets/Scripts/Mechanics/Bases/Mechanic.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb2e8450e8f944ae8d3a1cb62e4eb096 3 | timeCreated: 1601137979 -------------------------------------------------------------------------------- /Assets/Scripts/Mechanics/Bases/TapAndHold.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Rhodos.Mechanics.Bases 5 | { 6 | public abstract class TapAndHold : Mechanic 7 | { 8 | private float _timer; 9 | [SerializeField] protected float triggerInterval; 10 | protected abstract void Action(); 11 | 12 | public override void OnDrag() 13 | { 14 | _timer += Time.deltaTime; 15 | if (_timer >= triggerInterval) 16 | { 17 | Action(); 18 | _timer = 0; 19 | } 20 | } 21 | 22 | public override void OnUp() 23 | { 24 | _timer = 0f; 25 | } 26 | } 27 | 28 | } -------------------------------------------------------------------------------- /Assets/Scripts/Mechanics/Bases/TapAndHold.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bcd695aae09a455fbe836fb8646e9832 3 | timeCreated: 1609763250 -------------------------------------------------------------------------------- /Assets/Scripts/Mechanics/Bases/TapOrSwipeWithDirectionMechanic.cs: -------------------------------------------------------------------------------- 1 | using Rhodos.Toolkit; 2 | using UnityEngine; 3 | 4 | namespace Rhodos.Mechanics.Bases 5 | { 6 | /// 7 | /// A base mechanic class that triggers SwipeAction with a direction if swipe length is bigger than minimum length. If not, it triggers OnTap. 8 | /// 9 | public abstract class TapOrSwipeWithDirectionMechanic : Mechanic 10 | { 11 | private Vector2 _firstPos; 12 | [SerializeField] protected int minimumTouchLength; 13 | 14 | public override void OnDown() 15 | { 16 | _firstPos = Input.mousePosition; 17 | } 18 | 19 | public override void OnUp() 20 | { 21 | Vector2 swipe = (Vector2) Input.mousePosition - _firstPos; 22 | if (swipe.magnitude > minimumTouchLength) 23 | { 24 | //That means if move is in vertical axis 25 | if (Mathf.Abs(swipe.y) > Mathf.Abs(swipe.x)) 26 | { 27 | SwipeAction(swipe.y > 0f ? Direction.Up : Direction.Down); 28 | } 29 | else //if move is in horizontal axis 30 | { 31 | SwipeAction(swipe.x > 0f ? Direction.Right : Direction.Left); 32 | } 33 | } 34 | else 35 | { 36 | OnTap(); 37 | } 38 | } 39 | 40 | protected virtual void SwipeAction(Direction direction){} 41 | protected virtual void OnTap(){} 42 | } 43 | } -------------------------------------------------------------------------------- /Assets/Scripts/Mechanics/Bases/TapOrSwipeWithDirectionMechanic.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e3f45faa3b748a28c042b418bcd36d7 3 | timeCreated: 1609402440 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9c9c235306a44471af83e923243d5aec 3 | timeCreated: 1599253050 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/CsvUtility.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Rhodos 5 | { 6 | public class CsvUtility 7 | { 8 | 9 | public static string[,] Parse(string text) 10 | { 11 | string[] lines = text.Trim().Split('\n'); 12 | 13 | string[,] returnValues = new string[lines.Length, lines[0].Split(',').Length]; 14 | 15 | for (int i = 0; i < lines.Length; i++) 16 | { 17 | string[] cellsOfLine = lines[i].Split(','); 18 | 19 | for (int j = 0; j < cellsOfLine.Length; j++) 20 | { 21 | string cellValue = cellsOfLine[j].Trim().Trim('\n'); 22 | returnValues[i, j] = cellValue; 23 | } 24 | } 25 | 26 | return returnValues; 27 | } 28 | public static string[,] Parse(ref TextAsset txt) 29 | { 30 | return Parse(txt.text); 31 | } 32 | 33 | public static void SaveAsCsv(ref char[,] chars, string path) 34 | { 35 | string stringToSave = String.Empty; 36 | 37 | for (int i = 0; i < chars.GetLength(0); i++) 38 | { 39 | for (int j = 0; j < chars.GetLength(1); j++) 40 | { 41 | stringToSave += chars[i, j]; 42 | stringToSave += ','; 43 | } 44 | 45 | if (i != chars.GetLength(0)) 46 | stringToSave += '\n'; 47 | } 48 | 49 | System.IO.File.WriteAllText(path, stringToSave); 50 | } 51 | public static void SaveAsCsv(in string[,] strings, string path) 52 | { 53 | char[,] chars = new char[strings.GetLength(0), strings.GetLength(1)]; 54 | 55 | for (int i = 0; i < strings.GetLength(0); i++) 56 | { 57 | for (int j = 0; j < strings.GetLength(1); j++) 58 | { 59 | chars[i, j] = strings[i, j].Trim().Trim('\n').ToCharArray(0, 1)[0]; 60 | } 61 | } 62 | SaveAsCsv(ref chars, path); 63 | } 64 | 65 | } 66 | } -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/CsvUtility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2243a11fe2e17a24186c5f36415933a8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/Direction.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Rhodos.Toolkit 4 | { 5 | public class Direction 6 | { 7 | private readonly Vector2Int _direction; 8 | private readonly Types _directionType; 9 | 10 | private Direction(Vector2Int dir, Types directionType) 11 | { 12 | _direction = dir; 13 | _directionType = directionType; 14 | } 15 | 16 | public static implicit operator Vector2Int(Direction direction) => direction._direction; 17 | 18 | public static implicit operator Vector3Int(Direction direction) => 19 | new Vector3Int(((Vector2Int) direction).x, 0, ((Vector2Int) direction).y); 20 | 21 | public static implicit operator Types(Direction direction) => direction._directionType; 22 | 23 | public static readonly Direction Up = new Direction(Vector2Int.up, Types.Up); 24 | public static readonly Direction Down = new Direction(Vector2Int.down, Types.Down); 25 | public static readonly Direction Right = new Direction(Vector2Int.right, Types.Right); 26 | public static readonly Direction Left = new Direction(Vector2Int.left, Types.Left); 27 | 28 | public enum Types 29 | { 30 | Up, 31 | Down, 32 | Right, 33 | Left 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/Direction.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 81544915f3de489dac17fb5c68035d09 3 | timeCreated: 1609401751 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/Extensions.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 365a44b24c20412ab2c8ce2244bd5957 3 | timeCreated: 1609409443 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/Extensions/ColorExtensions.cs: -------------------------------------------------------------------------------- 1 | using TMPro; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | 5 | namespace Rhodos.Toolkit.Extensions 6 | { 7 | public static class ColorExtensions 8 | { 9 | public static void MakeTransparent(this TextMeshProUGUI text) 10 | { 11 | // text.overrideColorTags = true; 12 | Color color = text.color; 13 | color.a = 0f; 14 | text.color = color; 15 | } 16 | 17 | public static void MakeTransparent(this ref Color color) 18 | { 19 | Color tempColor = color; 20 | tempColor.a = 0f; 21 | color = tempColor; 22 | } 23 | 24 | public static void MakeTransparent(this Text text) 25 | { 26 | Color c = text.color; 27 | c.a = 0f; 28 | text.color = c; 29 | } 30 | 31 | public static void MakeOpaque(this ref Color color) 32 | { 33 | Color tempColor = color; 34 | tempColor.a = 1f; 35 | color = tempColor; 36 | } 37 | 38 | public static void MakeOpaque(this TextMeshProUGUI image) 39 | { 40 | Color color = image.faceColor; 41 | color.a = 1f; 42 | image.faceColor = color; 43 | } 44 | 45 | public static void MakeTransparent(this Image image) 46 | { 47 | Color color = image.color; 48 | color.a = 0f; 49 | image.color = color; 50 | } 51 | 52 | public static void MakeOpaque(this Image image) 53 | { 54 | Color color = image.color; 55 | color.a = 1f; 56 | image.color = color; 57 | } 58 | } 59 | } -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/Extensions/ColorExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aefa03f5da46489bb2b9b292dec13d78 3 | timeCreated: 1609409443 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/Extensions/DOTweenExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0def47bcd903419d84225b7672287056 3 | timeCreated: 1609401486 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/Extensions/EditorScriptingExtensions.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_EDITOR 2 | using UnityEditor; 3 | 4 | namespace Rhodos.Toolkit.Extensions 5 | { 6 | public static class EditorScriptingExtensions 7 | { 8 | public static SerializedProperty FindPropertyByAutoPropertyName(this SerializedObject obj, string propName) 9 | { 10 | return obj.FindProperty(string.Format("<{0}>k__BackingField", propName)); 11 | } 12 | } 13 | } 14 | #endif 15 | -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/Extensions/EditorScriptingExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bf6442780e124d44a8233b0551bfd4de 3 | timeCreated: 1637753765 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/Extensions/GameObjectExtensions.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Rhodos.Toolkit.Extensions 4 | { 5 | public static class GameObjectExtensions 6 | { 7 | public static GameObject Instantiate(this GameObject prefab) 8 | { 9 | return Object.Instantiate(prefab); 10 | } 11 | public static GameObject InstantiateLike(this GameObject prefab, Transform transformInfo) 12 | { 13 | return Object.Instantiate(prefab, transformInfo.position, transformInfo.rotation); 14 | } 15 | 16 | public static GameObject InstantiateLike(this GameObject prefab, Transform transformInfo, Transform parent) 17 | { 18 | return Object.Instantiate(prefab, transformInfo.position, transformInfo.rotation, parent); 19 | } 20 | public static GameObject Instantiate(this GameObject prefab, Transform parent) 21 | { 22 | return Object.Instantiate(prefab, parent, false); 23 | } 24 | 25 | public static T Instantiate(this T prefab) where T: Object 26 | { 27 | return Object.Instantiate(prefab); 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/Extensions/GameObjectExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a228582c8de7431aa52883db305f019e 3 | timeCreated: 1609401367 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/Extensions/MathExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using Random = UnityEngine.Random; 4 | 5 | namespace Rhodos.Toolkit.Extensions 6 | { 7 | public static class MathExtensions 8 | { 9 | public static int Abs(this int number) 10 | { 11 | return Mathf.Abs(number); 12 | } 13 | public static float Abs(this float f) 14 | { 15 | return (f < 0) ? -f : f; 16 | } 17 | public static bool GetProbability(this int number, int over) 18 | { 19 | int random = Random.Range(1, over + 1); 20 | return random.InRangeInclusive(1, number); 21 | } 22 | 23 | public static bool GetProbabilityOver100(this int number) 24 | { 25 | return GetProbability(number, 100); 26 | } 27 | public static bool InRangeInclusive(this T value, T closedLeft, T closedRight) 28 | where T : IComparable => 29 | value.CompareTo(closedLeft) >= 0 && value.CompareTo(closedRight) <= 0; 30 | 31 | public static Matrix4x4 MatrixLerp(this Matrix4x4 from, Matrix4x4 to, float time) 32 | { 33 | Matrix4x4 ret = new Matrix4x4(); 34 | for (int i = 0; i < 16; i++) 35 | ret[i] = Mathf.Lerp(from[i], to[i], time); 36 | return ret; 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/Extensions/MathExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 61c1202435624fa691867e9012571cd7 3 | timeCreated: 1609401219 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/Extensions/TransformExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 00f45b3dd097496c8c17fd2c86182bdb 3 | timeCreated: 1609408792 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/GameObjectPool.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | namespace Rhodos.Toolkit 5 | { 6 | public class GameObjectPool 7 | { 8 | private readonly GameObject _prefab; 9 | private readonly List _objectPool = new List(); 10 | 11 | public GameObjectPool(GameObject prefab) 12 | { 13 | _prefab = prefab; 14 | } 15 | 16 | public void LoadPool(int number) 17 | { 18 | for (int i = 0; i < number; i++) 19 | { 20 | GameObject gameObject = Object.Instantiate(_prefab); 21 | AddObject(gameObject); 22 | } 23 | } 24 | 25 | public GameObject[] GetAll() 26 | { 27 | return _objectPool.ToArray(); 28 | } 29 | 30 | public GameObject GetObject() 31 | { 32 | if (_objectPool.Count > 0) 33 | { 34 | GameObject gameObject = _objectPool[_objectPool.Count - 1]; 35 | _objectPool.RemoveAt(_objectPool.Count - 1); 36 | gameObject.SetActive(true); 37 | 38 | return gameObject; 39 | } 40 | 41 | return Object.Instantiate(_prefab); 42 | } 43 | 44 | public GameObject GetObjectWithoutActivating() 45 | { 46 | if (_objectPool.Count > 0) 47 | { 48 | GameObject gameObject = _objectPool[_objectPool.Count - 1]; 49 | _objectPool.RemoveAt(_objectPool.Count - 1); 50 | 51 | return gameObject; 52 | } 53 | 54 | return Object.Instantiate(_prefab); 55 | } 56 | 57 | public void AddObject(GameObject gameObject) 58 | { 59 | gameObject.SetActive(false); 60 | _objectPool.Insert(0, gameObject); 61 | } 62 | } 63 | } -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/GameObjectPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef73ee3410994d6982861bc245be7e24 3 | timeCreated: 1599253373 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/GenericDictionary.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1a883fc2edf34e33a3ae91d53cd1ece9 3 | timeCreated: 1613046999 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/MonoBehaviourPool.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | namespace Rhodos.Toolkit 5 | { 6 | public class MonoBehaviourPool where T : MonoBehaviour 7 | { 8 | private readonly T _prefab; 9 | private readonly List _objectPool = new List(); 10 | 11 | 12 | public MonoBehaviourPool(T prefab) 13 | { 14 | _prefab = prefab; 15 | } 16 | 17 | public void LoadPool(int number) 18 | { 19 | for (int i = 0; i < number; i++) 20 | { 21 | T gameObject = Object.Instantiate(_prefab); 22 | AddObject(gameObject); 23 | } 24 | } 25 | 26 | public T[] GetAll() 27 | { 28 | return _objectPool.ToArray(); 29 | } 30 | 31 | public T GetObject() 32 | { 33 | if (_objectPool.Count > 0) 34 | { 35 | T gameObject = _objectPool[_objectPool.Count - 1]; 36 | _objectPool.RemoveAt(_objectPool.Count - 1); 37 | gameObject.gameObject.SetActive(true); 38 | 39 | return gameObject; 40 | } 41 | 42 | return Object.Instantiate(_prefab); 43 | } 44 | 45 | public T GetObjectWithoutActivating() 46 | { 47 | if (_objectPool.Count > 0) 48 | { 49 | T gameObject = _objectPool[_objectPool.Count - 1]; 50 | _objectPool.RemoveAt(_objectPool.Count - 1); 51 | 52 | return gameObject; 53 | } 54 | 55 | return Object.Instantiate(_prefab); 56 | } 57 | 58 | public void AddObject(T gameObject) 59 | { 60 | gameObject.gameObject.SetActive(false); 61 | _objectPool.Insert(0, gameObject); 62 | } 63 | 64 | } 65 | } -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/MonoBehaviourPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c7cfb629a9c40c285bf12bb72b9aab3 3 | timeCreated: 1599253109 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/MonoBehaviourSingleton.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Rhodos.Toolkit 5 | { 6 | public class MonoBehaviourSingleton : MonoBehaviour where T : MonoBehaviour 7 | { 8 | public static T Instance { get; private set; } = null; 9 | 10 | public virtual void Awake() 11 | { 12 | if (Instance == null) 13 | { 14 | Instance = this as T; 15 | } 16 | else 17 | { 18 | Debug.LogError("WARNING! There are more than one " + typeof(T) + " in the scene. Extra ones will be terminated."); 19 | Destroy(gameObject); 20 | } 21 | 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/MonoBehaviourSingleton.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 487337bb9ba246df98b78ce67792d46f 3 | timeCreated: 1609400477 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/MouseFollowingCursor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using DG.Tweening; 3 | using UnityEngine.UI; 4 | 5 | namespace Rhodos.Toolkit 6 | { 7 | //TODO: Create a full functional mouse following cursor canvas prefab. 8 | public class MouseFollowingCursor : MonoBehaviour 9 | { 10 | [SerializeField] private Image cursorImage; 11 | [SerializeField] private Sprite defaultCursorSprite; 12 | [SerializeField] private Sprite pressedCursorSprite; 13 | [SerializeField] private Transform highlightTransform; 14 | [SerializeField] private Canvas canvas; 15 | 16 | private void Start() 17 | { 18 | highlightTransform.SetParent(canvas.transform); 19 | } 20 | private void Update() 21 | { 22 | transform.position = Input.mousePosition; 23 | 24 | if (Input.GetMouseButtonDown(0)) 25 | { 26 | cursorImage.sprite = pressedCursorSprite; 27 | 28 | highlightTransform.position = transform.position; 29 | 30 | DOTween.Restart("cursor_highlight"); 31 | } 32 | 33 | if (Input.GetMouseButtonUp(0)) 34 | { 35 | cursorImage.sprite = defaultCursorSprite; 36 | } 37 | } 38 | 39 | 40 | } 41 | } -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/MouseFollowingCursor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e228e10a5204e71ac831e6a731c4adf 3 | timeCreated: 1609409176 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/SerializableStructs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Rhodos.Toolkit 4 | { 5 | [Serializable] public struct MinMaxPair 6 | { 7 | public T min, max; 8 | } 9 | [Serializable] public struct InOutPair 10 | { 11 | public T _in, _out; 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/SerializableStructs.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 06ad7deba7504de9a01b0a8a01964fb3 3 | timeCreated: 1613037203 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/SingletonBehaviour.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Toolkit 4 | { 5 | public class SingletonBehaviour : MonoBehaviour where T : SingletonBehaviour 6 | { 7 | private static T _instance; 8 | public static T Instance 9 | { 10 | get 11 | { 12 | if (_instance) return _instance; 13 | 14 | var objects = FindObjectsOfType(); 15 | 16 | if (objects.Length == 0) 17 | { 18 | var go = new GameObject($"[{typeof(T).Name}]"); 19 | DontDestroyOnLoad(go); 20 | var instance = go.AddComponent(); 21 | return _instance = instance; 22 | } 23 | 24 | if (objects.Length > 1) 25 | { 26 | Debug.LogWarning($"There are more than one instance of {typeof(T)} in the scene! Using first one as Instance and ignoring others.\nYou can think about dealing the other instances."); 27 | } 28 | 29 | _instance = objects[0]; 30 | return _instance; 31 | } 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/SingletonBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a789d15705e24541a7b08a1239b0fe19 3 | timeCreated: 1665913835 -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/Transparenter.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Rhodos.Toolkit 4 | { 5 | /// 6 | /// Transparenter script must be added to a game object for being affected by invisible mask shader. 7 | /// 8 | public class Transparenter : MonoBehaviour 9 | { 10 | private void Start() 11 | { 12 | Renderer[] renderers = GetComponentsInChildren(); 13 | foreach (var rend in renderers) 14 | { 15 | rend.material.renderQueue = 3002; 16 | } 17 | 18 | } 19 | 20 | } 21 | } -------------------------------------------------------------------------------- /Assets/Scripts/Toolkit/Transparenter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b5e8e3f4e3bd5b44bdfe9fdaaf5d11f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a8de4989bb14d5f9627fb983f2bd0aa 3 | timeCreated: 1599134493 -------------------------------------------------------------------------------- /Assets/Scripts/UI/AnimatableUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ebaa722aa4ae4ac19299e4927211b32e 3 | timeCreated: 1627916731 -------------------------------------------------------------------------------- /Assets/Scripts/UI/Chest.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 688c4b959be142d1b79dd0a6d0d36cf4 3 | timeCreated: 1599160988 -------------------------------------------------------------------------------- /Assets/Scripts/UI/FailScreen.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using Rhodos.Core; 3 | using DG.Tweening; 4 | using MyBox; 5 | using TMPro; 6 | using UnityEngine; 7 | using UnityEngine.UI; 8 | 9 | namespace Rhodos.UI 10 | { 11 | public class FailScreen : UIScreen 12 | { 13 | [SerializeField] private AnimatableUI background; 14 | [SerializeField] private AnimatableUI sadEmoji; 15 | [SerializeField] private AnimatableUI