├── .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