├── Assets ├── TextMesh Pro │ ├── Resources │ │ ├── LineBreaking Leading Characters.txt │ │ ├── LineBreaking Following Characters.txt │ │ ├── Shaders │ │ │ ├── TMPro.cginc.meta │ │ │ ├── TMP_Bitmap.shader.meta │ │ │ ├── TMP_SDF.shader.meta │ │ │ ├── TMP_SDF Overlay.shader.meta │ │ │ ├── TMP_SDF-Mobile.shader.meta │ │ │ ├── TMP_SDF-Surface.shader.meta │ │ │ ├── TMPro_Properties.cginc.meta │ │ │ ├── TMPro_Surface.cginc.meta │ │ │ ├── TMP_Bitmap-Mobile.shader.meta │ │ │ ├── TMP_Bitmap-Custom-Atlas.shader.meta │ │ │ ├── TMP_SDF-Mobile Overlay.shader.meta │ │ │ ├── TMP_SDF-Surface-Mobile.shader.meta │ │ │ ├── TMP_Sprite.shader.meta │ │ │ ├── TMP_SDF-Mobile Masking.shader.meta │ │ │ ├── TMPro.cginc │ │ │ ├── TMP_Sprite.shader │ │ │ ├── TMPro_Properties.cginc │ │ │ ├── TMP_SDF-Surface-Mobile.shader │ │ │ ├── TMP_Bitmap.shader │ │ │ ├── TMP_Bitmap-Custom-Atlas.shader │ │ │ ├── TMP_Bitmap-Mobile.shader │ │ │ ├── TMPro_Surface.cginc │ │ │ └── TMP_SDF-Surface.shader │ │ ├── TMP Settings.asset.meta │ │ ├── Sprite Assets │ │ │ └── EmojiOne.asset.meta │ │ ├── LineBreaking Following Characters.txt.meta │ │ ├── LineBreaking Leading Characters.txt.meta │ │ ├── Shaders.meta │ │ ├── Fonts & Materials │ │ │ ├── LiberationSans SDF.asset.meta │ │ │ ├── LiberationSans SDF - Outline.mat.meta │ │ │ ├── LiberationSans SDF - Drop Shadow.mat.meta │ │ │ ├── LiberationSans SDF - Fallback.asset.meta │ │ │ ├── LiberationSans SDF - Outline.mat │ │ │ └── LiberationSans SDF - Drop Shadow.mat │ │ ├── Sprite Assets.meta │ │ ├── Style Sheets.meta │ │ ├── Style Sheets │ │ │ ├── Default Style Sheet.asset.meta │ │ │ └── Default Style Sheet.asset │ │ ├── Fonts & Materials.meta │ │ └── TMP Settings.asset │ ├── Fonts │ │ ├── LiberationSans.ttf │ │ ├── LiberationSans - OFL.txt.meta │ │ ├── LiberationSans.ttf.meta │ │ └── LiberationSans - OFL.txt │ ├── Documentation │ │ ├── TextMesh Pro User Guide 2016.pdf │ │ └── TextMesh Pro User Guide 2016.pdf.meta │ ├── Fonts.meta │ ├── Resources.meta │ ├── Sprites.meta │ └── Documentation.meta ├── Match3 │ ├── Textures │ │ ├── Gems.psd │ │ ├── Glass.psd │ │ ├── Background.psd │ │ ├── ChatBubble.png │ │ ├── ChatBubble.png.meta │ │ └── Glass.psd.meta │ ├── CodeMonkey │ │ ├── Assets │ │ │ ├── Circle.psd │ │ │ ├── White_1x1.psd │ │ │ ├── White_1x1.mat.meta │ │ │ ├── White_1x1.mat │ │ │ ├── Circle.psd.meta │ │ │ └── White_1x1.psd.meta │ │ ├── Utils │ │ │ ├── Button_UI.cs.meta │ │ │ ├── FunctionTimer.cs.meta │ │ │ ├── FunctionPeriodic.cs.meta │ │ │ ├── FunctionUpdater.cs.meta │ │ │ ├── Button_Sprite.cs.meta │ │ │ ├── UI_Bar.cs.meta │ │ │ ├── UI_Sprite.cs.meta │ │ │ ├── World_Bar.cs.meta │ │ │ ├── UI_BarMultiple.cs.meta │ │ │ ├── UI_TextComplex.cs.meta │ │ │ ├── UtilsClass.cs.meta │ │ │ ├── World_Mesh.cs.meta │ │ │ ├── World_Sprite.cs.meta │ │ │ ├── UI_BarMultiple.cs │ │ │ ├── UI_Sprite.cs │ │ │ ├── World_Bar.cs │ │ │ ├── FunctionUpdater.cs │ │ │ ├── UI_Bar.cs │ │ │ └── FunctionTimer.cs │ │ ├── README.txt.meta │ │ ├── Assets.meta │ │ ├── Resources.meta │ │ ├── Utils.meta │ │ ├── MonoBehaviours.meta │ │ ├── Resources │ │ │ ├── CodeMonkeyAssets.prefab.meta │ │ │ └── CodeMonkeyAssets.prefab │ │ ├── MonoBehaviours │ │ │ ├── ComponentActions.cs.meta │ │ │ ├── CameraFollow.cs.meta │ │ │ ├── CameraFollowSetup.cs.meta │ │ │ ├── PositionRendererSorter.cs.meta │ │ │ ├── CameraFollowSetup.cs │ │ │ ├── PositionRendererSorter.cs │ │ │ ├── ComponentActions.cs │ │ │ └── CameraFollow.cs │ │ ├── Assets.cs.meta │ │ ├── CMDebug.cs.meta │ │ ├── README.txt │ │ ├── Assets.cs │ │ └── CMDebug.cs │ ├── Gems.meta │ ├── Animations.meta │ ├── Levels.meta │ ├── Prefabs.meta │ ├── Prefabs │ │ ├── pfGemGridVisual.prefab.meta │ │ ├── pfGlassGridVisual.prefab.meta │ │ ├── pfBackgroundGridVisual.prefab.meta │ │ ├── pfGlassGridVisual.prefab │ │ └── pfBackgroundGridVisual.prefab │ ├── Scripts.meta │ ├── Textures.meta │ ├── Gems │ │ ├── Blue.asset.meta │ │ ├── Green.asset.meta │ │ ├── Orange.asset.meta │ │ ├── Purple.asset.meta │ │ ├── White.asset.meta │ │ ├── Yellow.asset.meta │ │ ├── Blue.asset │ │ ├── Green.asset │ │ ├── White.asset │ │ ├── Orange.asset │ │ ├── Purple.asset │ │ └── Yellow.asset │ ├── Levels │ │ ├── Level_A.asset.meta │ │ ├── Level_B.asset.meta │ │ ├── Level_C.asset.meta │ │ ├── Level_D.asset.meta │ │ └── Level_E.asset.meta │ ├── 2DRenderer.asset.meta │ ├── Global Volume Profile.asset.meta │ ├── Animations │ │ └── GemGridVisualMatched.anim.meta │ ├── UniversalRenderPipelineAsset.asset.meta │ ├── GameScene_Match3.unity.meta │ ├── Scripts │ │ ├── GemSO.cs │ │ ├── Grid.cs.meta │ │ ├── GemSO.cs.meta │ │ ├── LevelSO.cs.meta │ │ ├── Match3.cs.meta │ │ ├── Match3Bot.cs.meta │ │ ├── Match3UI.cs.meta │ │ ├── LevelEditor.cs.meta │ │ ├── Match3Visual.cs.meta │ │ ├── GemGridVisualDrag.cs.meta │ │ ├── Match3GameSimulation.cs.meta │ │ ├── Match3GameSimulationSample.cs.meta │ │ ├── GemGridVisualDrag.cs │ │ ├── LevelSO.cs │ │ ├── Match3GameSimulation.cs │ │ ├── Match3UI.cs │ │ ├── Match3Bot.cs │ │ └── Grid.cs │ ├── CodeMonkey.meta │ ├── GameScene_Match3_LevelEditor.unity.meta │ ├── UniversalRenderPipelineAsset.asset │ ├── 2DRenderer.asset │ └── Global Volume Profile.asset ├── Match3.meta └── TextMesh Pro.meta ├── ProjectSettings ├── ProjectVersion.txt ├── ClusterInputManager.asset ├── PresetManager.asset ├── NetworkManager.asset ├── XRSettings.asset ├── Packages │ └── com.unity.progrids │ │ └── Settings.json ├── TimeManager.asset ├── EditorBuildSettings.asset ├── VFXManager.asset ├── AudioManager.asset ├── URPProjectSettings.asset ├── TagManager.asset ├── UnityConnectSettings.asset ├── EditorSettings.asset ├── DynamicsManager.asset ├── Physics2DSettings.asset ├── NavMeshAreas.asset └── GraphicsSettings.asset ├── .gitattributes ├── LICENSE.md ├── manifest-prod.json ├── Docs └── ProjectFilesOrganization.md ├── export-addons.bat ├── .gitignore ├── .editorconfig └── Packages └── manifest.json /Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt: -------------------------------------------------------------------------------- 1 | ([{〔〈《「『【〘〖〝‘“⦅«$—…‥〳〴〵\[({£¥"々〇〉》」$⦆¥₩ # -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2019.4.10f1 2 | m_EditorVersionWithRevision: 2019.4.10f1 (5311b3af6f69) 3 | -------------------------------------------------------------------------------- /Assets/Match3/Textures/Gems.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/Game-Simulation-Match-3-Sample/HEAD/Assets/Match3/Textures/Gems.psd -------------------------------------------------------------------------------- /Assets/Match3/Textures/Glass.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/Game-Simulation-Match-3-Sample/HEAD/Assets/Match3/Textures/Glass.psd -------------------------------------------------------------------------------- /Assets/Match3/Textures/Background.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/Game-Simulation-Match-3-Sample/HEAD/Assets/Match3/Textures/Background.psd -------------------------------------------------------------------------------- /Assets/Match3/Textures/ChatBubble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/Game-Simulation-Match-3-Sample/HEAD/Assets/Match3/Textures/ChatBubble.png -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt: -------------------------------------------------------------------------------- 1 | )]}〕〉》」』】〙〗〟’”⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、%,.:;。!?]):;=}¢°"†‡℃〆%,. -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Assets/Circle.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/Game-Simulation-Match-3-Sample/HEAD/Assets/Match3/CodeMonkey/Assets/Circle.psd -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts/LiberationSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/Game-Simulation-Match-3-Sample/HEAD/Assets/TextMesh Pro/Fonts/LiberationSans.ttf -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Assets/White_1x1.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/Game-Simulation-Match-3-Sample/HEAD/Assets/Match3/CodeMonkey/Assets/White_1x1.psd -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: [] 7 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/Game-Simulation-Match-3-Sample/HEAD/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf -------------------------------------------------------------------------------- /Assets/Match3.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee8b569fe3fa65f45b5996bc0d3738cb 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /Assets/Match3/Gems.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c4e6c6db367bd56459e40ad5e94f6af1 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f54d1bd14bd3ca042bd867b519fee8cc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Animations.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d08d4c68060d5514c962e7e7b2b19927 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Levels.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9aa77362f2174cd4f9de216b9239ac10 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f1915dace71e49f479f111913d18d9cd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Prefabs/pfGemGridVisual.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 343952d9773918b4c86f551eb62ddd52 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Match3/Prefabs/pfGlassGridVisual.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7cb8119271dcd3141a60682e49d36762 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83aade9dcac4b2e4f9ede2bfb1d2a32d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db4610bd0474870479d7b9bafef39dc0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Prefabs/pfBackgroundGridVisual.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f7247793e60d1d428d47afe5297b97a 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ab70aee4d56447429c680537fbf93ed 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 243e06394e614e5d99fab26083b707fa 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMPro.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 407bc68d299748449bbf7f48ee690f8d 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0603b6d5186471b96c778c3949c7ce2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Documentation.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e7e8f5a82a3a134e91c54efd2274ea9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 128e987d567d4e2c824d754223b3f3b0 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMP_SDF.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68e6db2ebdc24f95958faec2be5558d6 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Match3/Gems/Blue.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 782c28e2c82278e4fbec7eff1012fb88 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMP_SDF Overlay.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd89cf5b9246416f84610a006f916af7 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe393ace9b354375a9cb14cdbbc28be4 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Surface.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7ada0af4f174f0694ca6a487b8f543d 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3997e2241185407d80309a82f9148466 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMPro_Surface.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d930090c0cd643c7b55f19a38538c162 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /ProjectSettings/Packages/com.unity.progrids/Settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "m_Name": "Settings", 3 | "m_Path": "ProjectSettings/Packages/com.unity.progrids/Settings.json", 4 | "m_Dictionary": { 5 | "m_DictionaryValues": [] 6 | } 7 | } -------------------------------------------------------------------------------- /Assets/Match3/Gems/Green.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48f608c92c5d050468d379bcd56f6836 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Gems/Orange.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a140927d61acb6428169a771cabfdff 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Gems/Purple.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8fb30dabdaf845c4e80e38d8836e34e3 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Gems/White.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c9da02558b4542649b2ceb0622274cf8 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Gems/Yellow.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45e0be82ee937a9409ac5c6928093976 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Levels/Level_A.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 963260312c2a98240abf213d6d74782e 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Levels/Level_B.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee05dfeb57dc43a45820125a5d78f952 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Levels/Level_C.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33d420a52c493d94192f7f8e5d05dd30 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Levels/Level_D.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44f0128a387ef4147823a88490a921a7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Levels/Level_E.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 654573d43f46f4447bb20424869aacc7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e3b057af24249748ff873be7fafee47 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Match3/2DRenderer.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed10a5df6f26b374193c068a65e675a7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/Button_UI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 602f74cbbbd80034b96f88091a8e7c1d 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b8d251f9af63b746bf2f7ffe00ebb9b 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48bb5f55d8670e349b6e614913f9d910 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile Overlay.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a02a7d8c237544f1962732b55a9aebf1 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Surface-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85187c2149c549c5b33f0cdb02836b17 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/FunctionTimer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9c8b5f0217e73fa47827cf77f22c2f8d 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Global Volume Profile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7dce7ca22e97fea4a92f8624979214c8 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/FunctionPeriodic.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f522bd6f08a5c984a9512bb60ebc1818 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/FunctionUpdater.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7eacfbf662ad34e46932f36084c15e11 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e59c59b81ab47f9b6ec5781fa725d2c 3 | timeCreated: 1484171296 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/TMP Settings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f5b5dff67a942289a9defa416b206f3 3 | timeCreated: 1436653997 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/Animations/GemGridVisualMatched.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e965c136cc782f4193ac816744f20ff 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/UniversalRenderPipelineAsset.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: da422ab582ee5dc4aaa1763c7a37cbc2 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c41005c129ba4d66911b75229fd70b45 3 | timeCreated: 1480316912 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/GameScene_Match3.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 73180b0c30c9c914e808ace170420c54 3 | timeCreated: 1523793784 4 | licenseType: Pro 5 | DefaultImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/GemSO.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | [CreateAssetMenu()] 6 | public class GemSO : ScriptableObject { 7 | 8 | public string gemName; 9 | public Sprite sprite; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fade42e8bc714b018fac513c043d323b 3 | timeCreated: 1425440388 4 | licenseType: Store 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d82c1b31c7e74239bff1220585707d2b 3 | timeCreated: 1425440388 4 | licenseType: Store 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 99f836c9cb9345dba2e72c4a1f2d0695 3 | folderAsset: yes 4 | timeCreated: 1436068007 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/README.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f59bf2b41588bd44780fc5218f7864e1 3 | timeCreated: 1526276062 4 | licenseType: Pro 5 | TextScriptImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f586378b4e144a9851e7b34d9b748ee 3 | timeCreated: 1484171803 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Sprite Assets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 512a49d95c0c4332bdd98131869c23c9 3 | folderAsset: yes 4 | timeCreated: 1441876896 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Style Sheets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4aecb92fff08436c8303b10eab8da368 3 | folderAsset: yes 4 | timeCreated: 1441876950 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f952c082cb03451daed3ee968ac6c63e 3 | timeCreated: 1432805430 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 16b451a71f8c5644886a3d83a5a80de7 3 | folderAsset: yes 4 | timeCreated: 1523804043 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 731f1baa9d144a9897cb1d341c2092b8 3 | folderAsset: yes 4 | timeCreated: 1442040525 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Match3/GameScene_Match3_LevelEditor.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f487e10021cce8439634af2cbaa7e71 3 | timeCreated: 1523793784 4 | licenseType: Pro 5 | DefaultImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79459efec17a4d00a321bdcc27bbc385 3 | timeCreated: 1484172856 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Assets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 87d70cfb1e610ac4dadb3551cb1dc28b 3 | folderAsset: yes 4 | timeCreated: 1524395615 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9c480003fd87d3548ae91e921a89a579 3 | folderAsset: yes 4 | timeCreated: 1524394058 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d900c58c01968cd42bb98e37d8e4d05c 3 | folderAsset: yes 4 | timeCreated: 1524300187 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e73a58f6e2794ae7b1b7e50b7fb811b0 3 | timeCreated: 1484172806 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e498d1c8094910479dc3e1b768306a4 3 | timeCreated: 1484171803 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMP_Sprite.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf81c85f95fe47e1a27f6ae460cf182c 3 | timeCreated: 1450517184 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/MonoBehaviours.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5abf4c77cbf61d94995a40be42eeaee0 3 | folderAsset: yes 4 | timeCreated: 1527582733 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile Masking.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc1ede39bf3643ee8e493720e4259791 3 | timeCreated: 1463704911 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | 3 | # Unity insists using LF for its text assets so prevent changing them to CRLF 4 | *.unity text eol=lf 5 | *.prefab text eol=lf 6 | *.asset text eol=lf 7 | *.meta text eol=lf 8 | *.json text eol=lf 9 | *.mat text eol=lf 10 | *.mesh text eol=lf 11 | *.txt text eol=lf 12 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Assets/White_1x1.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d5e8e2c082a4c44a9abd7d650cf0a15 3 | timeCreated: 1527582754 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 2100000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/Grid.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d710f0a19333f04ca3057687d9c8661 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/GemSO.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8b03160f09f0304998f2f5609f360d8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/LevelSO.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd6cf24db8e89a64cb8d629f2c37fb98 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/Match3.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a3ca2ffa0e409d40b9cff9b69d782a2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/Match3Bot.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 259abf07dfa1d7f479b5c2cbbb2707fb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/Match3UI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97c7e05e3a786514291e34ca32b22dd7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/LevelEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e444f63a33f80874bb9ca686b7d16bbd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/Match3Visual.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6bc0a0fad80efa54d8155a23be99d786 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Resources/CodeMonkeyAssets.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6cb9ffb1fe7e89d4a890b91c62fa7e8b 3 | timeCreated: 1524393897 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 100100000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/GemGridVisualDrag.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f0a677e808d0c0a4bb8b54558e078f43 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/Match3GameSimulation.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9ca71807f8ba6d842acc2a7168978e22 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/Match3GameSimulationSample.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d5571e9e29d474ed8a52db4e6b1c46a3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Match3/GameScene_Match3.unity 10 | guid: 73180b0c30c9c914e808ace170420c54 11 | m_configObjects: {} 12 | -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/Button_Sprite.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4771330f098d1db4898ad07204154d04 3 | timeCreated: 1513255758 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/MonoBehaviours/ComponentActions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb3e855e7fda2944b91078893f9e8fd8 3 | timeCreated: 1511794191 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Assets.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eda7ff5f6e8175c4da119ea9ed256f6d 3 | timeCreated: 1524393850 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/CMDebug.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6005648898e7f647ad2202fe256c311 3 | timeCreated: 1524945727 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/UI_Bar.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 49ffd25ff4b0ca3429d1b1e2dc0ff037 3 | timeCreated: 1524300423 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/UI_Sprite.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0052e8fbe8cbcd4d8c48038d364333b 3 | timeCreated: 1524300216 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/World_Bar.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc20fdc736e8c9442b35e4bcc04c596c 3 | timeCreated: 1524300272 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/UI_BarMultiple.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9cf7b152002fbca49b6a1a4623f200a7 3 | timeCreated: 1524300429 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/UI_TextComplex.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ba4b604c0e9db241bb3d130165415cd 3 | timeCreated: 1524300347 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/UtilsClass.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce2355f335dcae94abba806390b1bd76 3 | timeCreated: 1524300728 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/World_Mesh.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 91ce8dcaef210db41a183b4558f16bb2 3 | timeCreated: 1524300280 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/World_Sprite.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1460472c3006fb44daea959dda2c4d81 3 | timeCreated: 1524300280 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/MonoBehaviours/CameraFollow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f73a3eab49f30d344a207d7d3d931d98 3 | timeCreated: 1527867131 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/README.txt: -------------------------------------------------------------------------------- 1 | ------------------- Code Monkey ------------------- 2 | 3 | Thank you for downloading the Code Monkey Utilities 4 | I hope you find them useful in your projects 5 | If you have any questions use the contact form 6 | Cheers! 7 | 8 | unitycodemonkey.com 9 | -------------------------------------------------- 10 | 11 | Version: 1.02 12 | Date: 01-06-2018 -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/MonoBehaviours/CameraFollowSetup.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 31e947e7eb3216d40b72c592fa6847a3 3 | timeCreated: 1527867131 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/MonoBehaviours/PositionRendererSorter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b330b302c69005c4f98a928f7d71b877 3 | timeCreated: 1526502963 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/GemGridVisualDrag.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class GemGridVisualDrag : MonoBehaviour 6 | { 7 | // Start is called before the first frame update 8 | void Start() 9 | { 10 | 11 | } 12 | 13 | // Update is called once per frame 14 | void Update() 15 | { 16 | 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Game-Simulation-Match-3-Sample © 2020 Unity Technologies 2 | 3 | Licensed under the Unity Companion License for Unity-dependent projects (see https://unity3d.com/legal/licenses/unity_companion_license). 4 | 5 | Unless expressly provided otherwise, the Software under this license is made available strictly on an “AS IS” BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. Please review the license for details on these and other terms and conditions. 6 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 0 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_AmbisonicDecoderPlugin: 16 | m_DisableAudio: 0 17 | m_VirtualizeEffects: 1 18 | -------------------------------------------------------------------------------- /ProjectSettings/URPProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 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: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_LastMaterialVersion: 1 16 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e3265ab4bf004d28a9537516768c1c75 3 | timeCreated: 1484171297 4 | licenseType: Pro 5 | TrueTypeFontImporter: 6 | serializedVersion: 2 7 | fontSize: 16 8 | forceTextureCase: -2 9 | characterSpacing: 1 10 | characterPadding: 0 11 | includeFontData: 1 12 | use2xBehaviour: 0 13 | fontNames: [] 14 | fallbackFontReferences: [] 15 | customCharacters: 16 | fontRenderingMode: 0 17 | userData: 18 | assetBundleName: 19 | assetBundleVariant: 20 | -------------------------------------------------------------------------------- /Assets/Match3/Gems/Blue.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: 11500000, guid: e8b03160f09f0304998f2f5609f360d8, type: 3} 13 | m_Name: Blue 14 | m_EditorClassIdentifier: 15 | gemName: Blue 16 | sprite: {fileID: -3690084496328417868, guid: 4d054e73e6ee9a14fa37361ed5b1e40c, type: 3} 17 | -------------------------------------------------------------------------------- /Assets/Match3/Gems/Green.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: 11500000, guid: e8b03160f09f0304998f2f5609f360d8, type: 3} 13 | m_Name: Green 14 | m_EditorClassIdentifier: 15 | gemName: Green 16 | sprite: {fileID: 2801231552284419624, guid: 4d054e73e6ee9a14fa37361ed5b1e40c, type: 3} 17 | -------------------------------------------------------------------------------- /Assets/Match3/Gems/White.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: 11500000, guid: e8b03160f09f0304998f2f5609f360d8, type: 3} 13 | m_Name: White 14 | m_EditorClassIdentifier: 15 | gemName: White 16 | sprite: {fileID: 5240876717558335826, guid: 4d054e73e6ee9a14fa37361ed5b1e40c, type: 3} 17 | -------------------------------------------------------------------------------- /Assets/Match3/Gems/Orange.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: 11500000, guid: e8b03160f09f0304998f2f5609f360d8, type: 3} 13 | m_Name: Orange 14 | m_EditorClassIdentifier: 15 | gemName: Orange 16 | sprite: {fileID: 8745396460363951343, guid: 4d054e73e6ee9a14fa37361ed5b1e40c, type: 3} 17 | -------------------------------------------------------------------------------- /Assets/Match3/Gems/Purple.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: 11500000, guid: e8b03160f09f0304998f2f5609f360d8, type: 3} 13 | m_Name: Purple 14 | m_EditorClassIdentifier: 15 | gemName: Purple 16 | sprite: {fileID: -4825632588510966998, guid: 4d054e73e6ee9a14fa37361ed5b1e40c, type: 3} 17 | -------------------------------------------------------------------------------- /Assets/Match3/Gems/Yellow.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: 11500000, guid: e8b03160f09f0304998f2f5609f360d8, type: 3} 13 | m_Name: Yellow 14 | m_EditorClassIdentifier: 15 | gemName: Yellow 16 | sprite: {fileID: -4177220209166712611, guid: 4d054e73e6ee9a14fa37361ed5b1e40c, type: 3} 17 | -------------------------------------------------------------------------------- /manifest-prod.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.connect.share": "1.2.0-preview.1", 4 | "com.unity.learn.iet-framework": "0.3.0-preview.5", 5 | "com.unity.cinemachine": "2.5.0", 6 | "com.unity.inputsystem": "1.0.0-preview.6", 7 | "com.unity.probuilder": "4.2.3", 8 | "com.unity.quicksearch": "1.5.3", 9 | "com.unity.render-pipelines.universal": "7.3.1", 10 | "com.unity.textmeshpro": "2.0.1", 11 | "com.unity.timeline": "1.3.1", 12 | "com.unity.visualeffectgraph": "7.3.1", 13 | "com.unity.modules.physics": "1.0.0", 14 | "com.unity.modules.physics2d": "1.0.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/LevelSO.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | [CreateAssetMenu()] 6 | public class LevelSO : ScriptableObject { 7 | 8 | public enum GoalType { 9 | Glass, 10 | Score, 11 | } 12 | 13 | public List gemList; 14 | public int width; 15 | public int height; 16 | public List levelGridPositionList; 17 | public GoalType goalType; 18 | public int moveAmount; 19 | public int targetScore; 20 | 21 | 22 | [System.Serializable] 23 | public class LevelGridPosition { 24 | 25 | public GemSO gemSO; 26 | public int x; 27 | public int y; 28 | public bool hasGlass; 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - Platforms 17 | - PostProcessing 18 | - MousePlane 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Background 42 | uniqueID: 1157653183 43 | locked: 0 44 | - name: Default 45 | uniqueID: 0 46 | locked: 0 47 | - name: Top 48 | uniqueID: 3685922723 49 | locked: 0 50 | -------------------------------------------------------------------------------- /Docs/ProjectFilesOrganization.md: -------------------------------------------------------------------------------- 1 | That file describes how the project files should be organized from a Unity Layout Standpoint. 2 | -------------------------------------------------------------------------------------------------- 3 | 4 | - Assets/NAME: 5 | That folder should contain assets relevant for the user, to explore and possibly modify. 6 | 7 | - Assets/SomePluginX: 8 | That folder is specific to a certain plugin and should contain assets that should not be typically modified by the user 9 | 10 | - Assets/Docs: 11 | That folder should contain any documents that could provide useful information to the user about a certain aspect of the project. 12 | It can be to explain how something works or how he should proceed to execute a certain task. 13 | 14 | - Assets/NAME/Scripts: 15 | That folder should theoratically contain all the scripts that have been created specifically for that project. -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 1 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 0 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: 32 | AndroidPlayer: 33 | iPhonePlayer: 34 | tvOSPlayer: 35 | m_GameId: 36 | PerformanceReportingSettings: 37 | m_Enabled: 0 38 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Assets.cs: -------------------------------------------------------------------------------- 1 | /* 2 | ------------------- Code Monkey ------------------- 3 | 4 | Thank you for downloading the Code Monkey Utilities 5 | I hope you find them useful in your projects 6 | If you have any questions use the contact form 7 | Cheers! 8 | 9 | unitycodemonkey.com 10 | -------------------------------------------------- 11 | */ 12 | 13 | using System.Collections; 14 | using System.Collections.Generic; 15 | using UnityEngine; 16 | 17 | namespace CodeMonkey { 18 | 19 | /* 20 | * Global Asset references 21 | * Edit Asset references in the prefab CodeMonkey/Resources/CodeMonkeyAssets 22 | * */ 23 | public class Assets : MonoBehaviour { 24 | 25 | // Internal instance reference 26 | private static Assets _i; 27 | 28 | // Instance reference 29 | public static Assets i { 30 | get { 31 | if (_i == null) _i = Instantiate(Resources.Load("CodeMonkeyAssets")); 32 | return _i; 33 | } 34 | } 35 | 36 | 37 | // All references 38 | 39 | public Sprite s_White; 40 | public Sprite s_Circle; 41 | 42 | public Material m_White; 43 | 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 9 7 | m_ExternalVersionControlSupport: Hidden Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 2 10 | m_DefaultBehaviorMode: 1 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 4 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 1 30 | m_AssetPipelineMode: 1 31 | m_CacheServerMode: 0 32 | m_CacheServerEndpoint: 33 | m_CacheServerNamespacePrefix: default 34 | m_CacheServerEnableDownload: 1 35 | m_CacheServerEnableUpload: 1 36 | -------------------------------------------------------------------------------- /export-addons.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | REM This script exports add-on packages (.unitypackages) of this Microgame. 3 | REM Each subfolder in ASSETPATH represents an asset pack and is packaged separately. 4 | REM Pass in path for Unity.exe as the first argument, e.g. "C:\Program Files\Unity\Hub\Editor\2018.4.14f1\Editor\Unity.exe" 5 | 6 | setlocal EnableDelayedExpansion 7 | 8 | set UNITYPATH=%~1 9 | REM Default to what Yamato has if no argument provided 10 | if "%UNITYPATH%"=="" set UNITYPATH=.Editor\Unity.exe 11 | set PROJECTPATH=%CD% 12 | set ASSETPATH=Assets\AddOns 13 | set OUTPUTDIR=addons 14 | 15 | if not exist "%UNITYPATH%". ( 16 | echo Unity.exe not found from "%UNITYPATH%", set UNITYPATH accordingly. Aborting. 17 | exit /b 1 18 | ) 19 | 20 | if not exist "%ASSETPATH%". ( 21 | echo "%PROJECTPATH%\%ASSETPATH%" does not exist, aborting. 22 | exit /b 1 23 | ) 24 | 25 | if not exist "%OUTPUTDIR%". mkdir "%OUTPUTDIR%" 26 | 27 | for /f "delims=" %%i in ('dir %ASSETPATH% /ad /b') do ( 28 | set INPUT=!ASSETPATH!\%%i 29 | set OUTPUT=!OUTPUTDIR!\%%i.unitypackage 30 | echo Exporting !OUTPUT! from "!INPUT!"... 31 | "%UNITYPATH%" -quit -batchmode -projectPath "%PROJECTPATH%" -exportPackage !INPUT! !OUTPUT! 32 | if not ERRORLEVEL 0 exit /b %ERRORLEVEL% 33 | ) 34 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/MonoBehaviours/CameraFollowSetup.cs: -------------------------------------------------------------------------------- 1 | /* 2 | ------------------- Code Monkey ------------------- 3 | 4 | Thank you for downloading the Code Monkey Utilities 5 | I hope you find them useful in your projects 6 | If you have any questions use the contact form 7 | Cheers! 8 | 9 | unitycodemonkey.com 10 | -------------------------------------------------- 11 | */ 12 | 13 | using System.Collections.Generic; 14 | using UnityEngine; 15 | 16 | namespace CodeMonkey.MonoBehaviours { 17 | 18 | /* 19 | * Easy set up for CameraFollow, it will follow the transform with zoom 20 | * */ 21 | public class CameraFollowSetup : MonoBehaviour { 22 | 23 | [SerializeField] private CameraFollow cameraFollow = null; 24 | [SerializeField] private Transform followTransform = null; 25 | [SerializeField] private float zoom = 50f; 26 | 27 | private void Start() { 28 | if (followTransform == null) { 29 | Debug.LogError("followTransform is null! Intended?"); 30 | cameraFollow.Setup(() => Vector3.zero, () => zoom, true, true); 31 | } else { 32 | cameraFollow.Setup(() => followTransform.position, () => zoom, true, true); 33 | } 34 | } 35 | } 36 | 37 | } -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: fffbfffffffbfffffffbfffffffffffffffbfffffffbfffffffffffffffffffffffbfffffffbffffc8f8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 1 23 | m_ReuseCollisionCallbacks: 0 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ClothGravity: {x: 0, y: -9.81, z: 0} 26 | m_ContactPairsMode: 0 27 | m_BroadphaseType: 0 28 | m_WorldBounds: 29 | m_Center: {x: 0, y: 0, z: 0} 30 | m_Extent: {x: 250, y: 250, z: 250} 31 | m_WorldSubdivisions: 8 32 | m_FrictionType: 0 33 | m_EnableEnhancedDeterminism: 0 34 | m_EnableUnifiedHeightmaps: 1 35 | m_SolverType: 0 36 | m_DefaultMaxAngularSpeed: 7 37 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_AutoSimulation: 1 23 | m_QueriesHitTriggers: 1 24 | m_QueriesStartInColliders: 1 25 | m_ChangeStopsCallbacks: 0 26 | m_CallbacksOnDisable: 1 27 | m_AutoSyncTransforms: 1 28 | m_AlwaysShowColliders: 0 29 | m_ShowColliderSleep: 1 30 | m_ShowColliderContacts: 0 31 | m_ShowColliderAABB: 0 32 | m_ContactArrowScale: 0.2 33 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 34 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 35 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 36 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 37 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 38 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/MonoBehaviours/PositionRendererSorter.cs: -------------------------------------------------------------------------------- 1 | /* 2 | ------------------- Code Monkey ------------------- 3 | 4 | Thank you for downloading the Code Monkey Utilities 5 | I hope you find them useful in your projects 6 | If you have any questions use the contact form 7 | Cheers! 8 | 9 | unitycodemonkey.com 10 | -------------------------------------------------- 11 | */ 12 | 13 | using UnityEngine; 14 | 15 | namespace CodeMonkey.MonoBehaviours { 16 | 17 | /* 18 | * Automatically sort a Renderer (SpriteRenderer, MeshRenderer) based on his Y position 19 | * */ 20 | public class PositionRendererSorter : MonoBehaviour { 21 | 22 | [SerializeField] private int sortingOrderBase = 5000; // This number should be higher than what any of your sprites will be on the position.y 23 | [SerializeField] private int offset = 0; 24 | [SerializeField] private bool runOnlyOnce = false; 25 | 26 | private float timer; 27 | private float timerMax = .1f; 28 | private Renderer myRenderer; 29 | 30 | private void Awake() { 31 | myRenderer = gameObject.GetComponent(); 32 | } 33 | 34 | private void LateUpdate() { 35 | timer -= Time.deltaTime; 36 | if (timer <= 0f) { 37 | timer = timerMax; 38 | myRenderer.sortingOrder = (int)(sortingOrderBase - transform.position.y - offset); 39 | if (runOnlyOnce) { 40 | Destroy(this); 41 | } 42 | } 43 | } 44 | 45 | public void SetOffset(int offset) { 46 | this.offset = offset; 47 | } 48 | 49 | } 50 | 51 | } -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/TMP Settings.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: 11500000, guid: 2705215ac5b84b70bacc50632be6e391, type: 3} 13 | m_Name: TMP Settings 14 | m_EditorClassIdentifier: 15 | m_enableWordWrapping: 1 16 | m_enableKerning: 1 17 | m_enableExtraPadding: 0 18 | m_enableTintAllSprites: 0 19 | m_enableParseEscapeCharacters: 1 20 | m_EnableRaycastTarget: 1 21 | m_GetFontFeaturesAtRuntime: 1 22 | m_missingGlyphCharacter: 0 23 | m_warningsDisabled: 1 24 | m_defaultFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} 25 | m_defaultFontAssetPath: Fonts & Materials/ 26 | m_defaultFontSize: 36 27 | m_defaultAutoSizeMinRatio: 0.5 28 | m_defaultAutoSizeMaxRatio: 2 29 | m_defaultTextMeshProTextContainerSize: {x: 20, y: 5} 30 | m_defaultTextMeshProUITextContainerSize: {x: 200, y: 50} 31 | m_autoSizeTextContainer: 0 32 | m_fallbackFontAssets: [] 33 | m_matchMaterialPreset: 1 34 | m_defaultSpriteAsset: {fileID: 11400000, guid: c41005c129ba4d66911b75229fd70b45, 35 | type: 2} 36 | m_defaultSpriteAssetPath: Sprite Assets/ 37 | m_defaultColorGradientPresetsPath: Color Gradient Presets/ 38 | m_enableEmojiSupport: 1 39 | m_defaultStyleSheet: {fileID: 11400000, guid: f952c082cb03451daed3ee968ac6c63e, 40 | type: 2} 41 | m_leadingCharacters: {fileID: 4900000, guid: d82c1b31c7e74239bff1220585707d2b, type: 3} 42 | m_followingCharacters: {fileID: 4900000, guid: fade42e8bc714b018fac513c043d323b, 43 | type: 3} 44 | -------------------------------------------------------------------------------- /Assets/Match3/UniversalRenderPipelineAsset.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: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} 13 | m_Name: UniversalRenderPipelineAsset 14 | m_EditorClassIdentifier: 15 | k_AssetVersion: 5 16 | k_AssetPreviousVersion: 5 17 | m_RendererType: 0 18 | m_RendererData: {fileID: 11400000, guid: ed10a5df6f26b374193c068a65e675a7, type: 2} 19 | m_RendererDataList: 20 | - {fileID: 11400000, guid: ed10a5df6f26b374193c068a65e675a7, type: 2} 21 | m_DefaultRendererIndex: 0 22 | m_RequireDepthTexture: 1 23 | m_RequireOpaqueTexture: 1 24 | m_OpaqueDownsampling: 0 25 | m_SupportsTerrainHoles: 1 26 | m_SupportsHDR: 1 27 | m_MSAA: 1 28 | m_RenderScale: 1 29 | m_MainLightRenderingMode: 1 30 | m_MainLightShadowsSupported: 1 31 | m_MainLightShadowmapResolution: 2048 32 | m_AdditionalLightsRenderingMode: 1 33 | m_AdditionalLightsPerObjectLimit: 4 34 | m_AdditionalLightShadowsSupported: 0 35 | m_AdditionalLightsShadowmapResolution: 512 36 | m_ShadowDistance: 50 37 | m_ShadowCascades: 0 38 | m_Cascade2Split: 0.25 39 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} 40 | m_ShadowDepthBias: 1 41 | m_ShadowNormalBias: 1 42 | m_SoftShadowsSupported: 0 43 | m_UseSRPBatcher: 1 44 | m_SupportsDynamicBatching: 0 45 | m_MixedLightingSupported: 1 46 | m_DebugLevel: 0 47 | m_PostProcessingFeatureSet: 0 48 | m_ColorGradingMode: 0 49 | m_ColorGradingLutSize: 32 50 | m_ShadowType: 1 51 | m_LocalShadowsSupported: 0 52 | m_LocalShadowsAtlasResolution: 256 53 | m_MaxPixelLights: 0 54 | m_ShadowAtlasResolution: 256 55 | m_ShaderVariantLogLevel: 0 56 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Resources/CodeMonkeyAssets.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1001 &100100000 4 | Prefab: 5 | m_ObjectHideFlags: 1 6 | serializedVersion: 2 7 | m_Modification: 8 | m_TransformParent: {fileID: 0} 9 | m_Modifications: [] 10 | m_RemovedComponents: [] 11 | m_ParentPrefab: {fileID: 0} 12 | m_RootGameObject: {fileID: 1010336202903800} 13 | m_IsPrefabParent: 1 14 | --- !u!1 &1010336202903800 15 | GameObject: 16 | m_ObjectHideFlags: 0 17 | m_PrefabParentObject: {fileID: 0} 18 | m_PrefabInternal: {fileID: 100100000} 19 | serializedVersion: 5 20 | m_Component: 21 | - component: {fileID: 4240258222200348} 22 | - component: {fileID: 114165315123428144} 23 | m_Layer: 0 24 | m_Name: CodeMonkeyAssets 25 | m_TagString: Untagged 26 | m_Icon: {fileID: 0} 27 | m_NavMeshLayer: 0 28 | m_StaticEditorFlags: 0 29 | m_IsActive: 1 30 | --- !u!4 &4240258222200348 31 | Transform: 32 | m_ObjectHideFlags: 1 33 | m_PrefabParentObject: {fileID: 0} 34 | m_PrefabInternal: {fileID: 100100000} 35 | m_GameObject: {fileID: 1010336202903800} 36 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 37 | m_LocalPosition: {x: 991.20996, y: 137.51582, z: 149.5} 38 | m_LocalScale: {x: 1, y: 1, z: 1} 39 | m_Children: [] 40 | m_Father: {fileID: 0} 41 | m_RootOrder: 0 42 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 43 | --- !u!114 &114165315123428144 44 | MonoBehaviour: 45 | m_ObjectHideFlags: 1 46 | m_PrefabParentObject: {fileID: 0} 47 | m_PrefabInternal: {fileID: 100100000} 48 | m_GameObject: {fileID: 1010336202903800} 49 | m_Enabled: 1 50 | m_EditorHideFlags: 0 51 | m_Script: {fileID: 11500000, guid: eda7ff5f6e8175c4da119ea9ed256f6d, type: 3} 52 | m_Name: 53 | m_EditorClassIdentifier: 54 | s_White: {fileID: 21300000, guid: c33871c8638eb4c41bfb4577f3b58627, type: 3} 55 | m_White: {fileID: 2100000, guid: 7d5e8e2c082a4c44a9abd7d650cf0a15, type: 2} 56 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/MonoBehaviours/ComponentActions.cs: -------------------------------------------------------------------------------- 1 | /* 2 | ------------------- Code Monkey ------------------- 3 | 4 | Thank you for downloading the Code Monkey Utilities 5 | I hope you find them useful in your projects 6 | If you have any questions use the contact form 7 | Cheers! 8 | 9 | unitycodemonkey.com 10 | -------------------------------------------------- 11 | */ 12 | 13 | using System; 14 | using UnityEngine; 15 | 16 | namespace CodeMonkey.MonoBehaviours { 17 | 18 | /* 19 | * Trigger Actions on MonoBehaviour Component events 20 | * */ 21 | public class ComponentActions : MonoBehaviour { 22 | 23 | public Action OnDestroyFunc; 24 | public Action OnEnableFunc; 25 | public Action OnDisableFunc; 26 | public Action OnUpdate; 27 | 28 | void OnDestroy() { 29 | if (OnDestroyFunc != null) OnDestroyFunc(); 30 | } 31 | void OnEnable() { 32 | if (OnEnableFunc != null) OnEnableFunc(); 33 | } 34 | void OnDisable() { 35 | if (OnDisableFunc != null) OnDisableFunc(); 36 | } 37 | void Update() { 38 | if (OnUpdate != null) OnUpdate(); 39 | } 40 | 41 | 42 | public static void CreateComponent(Action OnDestroyFunc = null, Action OnEnableFunc = null, Action OnDisableFunc = null, Action OnUpdate = null) { 43 | GameObject gameObject = new GameObject("ComponentActions"); 44 | AddComponent(gameObject, OnDestroyFunc, OnEnableFunc, OnDisableFunc, OnUpdate); 45 | } 46 | public static void AddComponent(GameObject gameObject, Action OnDestroyFunc = null, Action OnEnableFunc = null, Action OnDisableFunc = null, Action OnUpdate = null) { 47 | ComponentActions componentFuncs = gameObject.AddComponent(); 48 | componentFuncs.OnDestroyFunc = OnDestroyFunc; 49 | componentFuncs.OnEnableFunc = OnEnableFunc; 50 | componentFuncs.OnDisableFunc = OnDisableFunc; 51 | componentFuncs.OnUpdate = OnUpdate; 52 | } 53 | } 54 | 55 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 3 | 4 | # Specific for this project: 5 | # If the IET for the project contains "Add Open Scenes" step, first remove EditorBuildSettings.asset, 6 | # commit, and then uncomment and commit a change to the line below. 7 | #/ProjectSettings/EditorBuildSettings.asset 8 | 9 | # A marker file of which existence is used to decide whether to run the first-launch experience or not. 10 | InitCodeMarker 11 | 12 | # UPM-CI artefacts 13 | upm-ci~/ 14 | upm-ci.log 15 | 16 | # Add-Ons go here 17 | addons/ 18 | 19 | # Share WebGL Game artefacts 20 | webgl_sharing 21 | connectwebgl.zip 22 | 23 | # Never ignore Asset meta data... 24 | !/[Aa]ssets/**/*.meta 25 | 26 | # ...except for Microgame Add-Ons 27 | /Assets/AddOns.meta 28 | 29 | # IET has a feature to back up the project's content, let's ignore the possible backups. 30 | /[Tt]utorial [Dd]efaults/ 31 | 32 | # The rest are general best practices for Unity projects 33 | /[Ll]ibrary/ 34 | /[Tt]emp/ 35 | /[Oo]bj/ 36 | /[Bb]uild/ 37 | /[Bb]uilds/ 38 | /[Ll]ogs/ 39 | /[Mm]emoryCaptures/ 40 | 41 | # Uncomment this line if you wish to ignore the asset store tools plugin 42 | /[Aa]ssets/AssetStoreTools* 43 | 44 | # Autogenerated Jetbrains Rider plugin 45 | [Aa]ssets/Plugins/Editor/JetBrains* 46 | 47 | # Visual Studio cache directory 48 | .vs/ 49 | 50 | # Gradle cache directory 51 | .gradle/ 52 | 53 | # Autogenerated VS/MD/Consulo solution and project files 54 | ExportedObj/ 55 | .consulo/ 56 | *.csproj 57 | *.unityproj 58 | *.sln 59 | *.suo 60 | *.tmp 61 | *.user 62 | *.userprefs 63 | *.pidb 64 | *.booproj 65 | *.svd 66 | *.pdb 67 | *.mdb 68 | *.opendb 69 | *.VC.db 70 | 71 | # Unity3D generated meta files 72 | *.pidb.meta 73 | *.pdb.meta 74 | *.mdb.meta 75 | 76 | # Unity3D generated file on crash reports 77 | sysinfo.txt 78 | 79 | # Builds 80 | *.apk 81 | *.unitypackage 82 | 83 | # Crashlytics generated file 84 | crashlytics-build.properties 85 | *.orig 86 | *.orig.meta 87 | 88 | # Ignore build reports 89 | /Assets/BuildReports* -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | ; see http://editorconfig.org/ for docs on this file 2 | 3 | root = true 4 | 5 | [*] 6 | ignore_if_in_header = This code was generated by a tool| 7 | indent_style = space 8 | indent_size = 4 9 | ; uncomment to help with sharing files across os's (i.e. network share or through local vm) 10 | #end_of_line = lf 11 | ; avoid a bom, which causes endless problems with naive text tooling 12 | charset = utf-8 13 | trim_trailing_whitespace = true 14 | insert_final_newline = true 15 | ; keeping auto-format enabled helps avoid merge hell for projects without CI-based format validation 16 | disable_auto_format = true 17 | 18 | [*.cs] 19 | ; uncomment to enable full formatting of c# files 20 | formatters = generic, uncrustify 21 | 22 | [*.asmdef] 23 | scrape_api = false 24 | 25 | [**/Tests/**.asmdef] 26 | scrape_api = false 27 | 28 | [*.Tests.asmdef] 29 | scrape_api = false 30 | 31 | [*.md] 32 | indent_size = 2 33 | ; trailing whitespace is unfortunately significant in markdown 34 | trim_trailing_whitespace = false 35 | ; uncomment to enable basic formatting of markdown files 36 | #formatters = generic 37 | 38 | [{Makefile,makefile}] 39 | ; tab characters are part of the Makefile format 40 | indent_style = tab 41 | 42 | [*.asmdef] 43 | indent_size = 4 44 | 45 | [*.json] 46 | indent_size = 2 47 | 48 | [*.{vcproj,bat,cmd,xaml,tt,t4,ttinclude}] 49 | end_of_line = crlf 50 | 51 | ; this VS-specific stuff is based on experiments to see how VS will modify a file after it has been manually edited. 52 | ; the settings are meant to closely match what VS does to minimize unnecessary diffs. 53 | [*.{vcxproj,vcxproj.filters}] 54 | indent_style = space 55 | indent_size = 2 56 | end_of_line = crlf 57 | charset = utf-8-bom 58 | trim_trailing_whitespace = true 59 | insert_final_newline = false 60 | ; must be broken out because of 51-char bug (https://github.com/editorconfig/editorconfig-visualstudio/issues/21) 61 | [*.{csproj,pyproj,props,targets}] 62 | indent_style = space 63 | indent_size = 2 64 | end_of_line = crlf 65 | charset = utf-8-bom 66 | trim_trailing_whitespace = true 67 | insert_final_newline = false 68 | [*.{sln,sln.template}] 69 | indent_style = tab 70 | indent_size = 4 71 | end_of_line = crlf 72 | charset = utf-8 73 | trim_trailing_whitespace = true 74 | insert_final_newline = false 75 | -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.2d.sprite": "1.0.0", 4 | "com.unity.2d.tilemap": "1.0.0", 5 | "com.unity.ads": "3.4.9", 6 | "com.unity.analytics": "3.3.5", 7 | "com.unity.cinemachine": "2.5.0", 8 | "com.unity.collab-proxy": "1.2.16", 9 | "com.unity.ext.nunit": "1.0.0", 10 | "com.unity.ide.rider": "1.1.4", 11 | "com.unity.ide.vscode": "1.2.1", 12 | "com.unity.probuilder": "4.2.3", 13 | "com.unity.progrids": "3.0.3-preview.6", 14 | "com.unity.purchasing": "2.1.0", 15 | "com.unity.render-pipelines.lightweight": "7.3.1", 16 | "com.unity.test-framework": "1.1.16", 17 | "com.unity.textmeshpro": "2.0.1", 18 | "com.unity.timeline": "1.2.12", 19 | "com.unity.ugui": "1.0.0", 20 | "com.unity.xr.legacyinputhelpers": "2.1.4", 21 | "com.unity.modules.ai": "1.0.0", 22 | "com.unity.modules.androidjni": "1.0.0", 23 | "com.unity.modules.animation": "1.0.0", 24 | "com.unity.modules.assetbundle": "1.0.0", 25 | "com.unity.modules.audio": "1.0.0", 26 | "com.unity.modules.cloth": "1.0.0", 27 | "com.unity.modules.director": "1.0.0", 28 | "com.unity.modules.imageconversion": "1.0.0", 29 | "com.unity.modules.imgui": "1.0.0", 30 | "com.unity.modules.jsonserialize": "1.0.0", 31 | "com.unity.modules.particlesystem": "1.0.0", 32 | "com.unity.modules.physics": "1.0.0", 33 | "com.unity.modules.physics2d": "1.0.0", 34 | "com.unity.modules.screencapture": "1.0.0", 35 | "com.unity.modules.terrain": "1.0.0", 36 | "com.unity.modules.terrainphysics": "1.0.0", 37 | "com.unity.modules.tilemap": "1.0.0", 38 | "com.unity.modules.ui": "1.0.0", 39 | "com.unity.modules.uielements": "1.0.0", 40 | "com.unity.modules.umbra": "1.0.0", 41 | "com.unity.modules.unityanalytics": "1.0.0", 42 | "com.unity.modules.unitywebrequest": "1.0.0", 43 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 44 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 45 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 46 | "com.unity.modules.unitywebrequestwww": "1.0.0", 47 | "com.unity.modules.vehicles": "1.0.0", 48 | "com.unity.modules.video": "1.0.0", 49 | "com.unity.modules.vr": "1.0.0", 50 | "com.unity.modules.wind": "1.0.0", 51 | "com.unity.modules.xr": "1.0.0" 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Assets/White_1x1.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_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: White_1x1 10 | m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _BumpMap: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _DetailAlbedoMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailMask: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailNormalMap: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _EmissionMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _MainTex: 42 | m_Texture: {fileID: 2800000, guid: c33871c8638eb4c41bfb4577f3b58627, type: 3} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MetallicGlossMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _OcclusionMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _ParallaxMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | m_Floats: 58 | - _BumpScale: 1 59 | - _Cutoff: 0.5 60 | - _DetailNormalMapScale: 1 61 | - _DstBlend: 0 62 | - _GlossMapScale: 1 63 | - _Glossiness: 0.5 64 | - _GlossyReflections: 1 65 | - _Metallic: 0 66 | - _Mode: 0 67 | - _OcclusionStrength: 1 68 | - _Parallax: 0.02 69 | - _SmoothnessTextureChannel: 0 70 | - _SpecularHighlights: 1 71 | - _SrcBlend: 1 72 | - _UVSec: 0 73 | - _ZWrite: 1 74 | m_Colors: 75 | - _Color: {r: 1, g: 1, b: 1, a: 1} 76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 77 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Assets/Circle.psd.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e63e5c0479e18114094563df8d6400f3 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 1 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 1 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 5e97eb03825dee720800000000000000 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 1 89 | pSDShowRemoveMatteOption: 1 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /Assets/Match3/2DRenderer.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: 11500000, guid: 11145981673336645838492a2d98e247, type: 3} 13 | m_Name: 2DRenderer 14 | m_EditorClassIdentifier: 15 | m_RendererFeatures: [] 16 | m_RendererFeatureMap: 17 | m_TransparencySortMode: 0 18 | m_TransparencySortAxis: {x: 0, y: 1, z: 0} 19 | m_HDREmulationScale: 1 20 | m_LightBlendStyles: 21 | - enabled: 1 22 | name: Default 23 | maskTextureChannel: 0 24 | renderTextureScale: 1 25 | blendMode: 1 26 | customBlendFactors: 27 | multiplicative: 0 28 | additive: 0 29 | - enabled: 0 30 | name: Blend Style 1 31 | maskTextureChannel: 0 32 | renderTextureScale: 1 33 | blendMode: 1 34 | customBlendFactors: 35 | multiplicative: 0 36 | additive: 0 37 | - enabled: 0 38 | name: Blend Style 2 39 | maskTextureChannel: 0 40 | renderTextureScale: 1 41 | blendMode: 1 42 | customBlendFactors: 43 | multiplicative: 0 44 | additive: 0 45 | - enabled: 0 46 | name: Blend Style 3 47 | maskTextureChannel: 0 48 | renderTextureScale: 1 49 | blendMode: 1 50 | customBlendFactors: 51 | multiplicative: 0 52 | additive: 0 53 | m_UseDepthStencilBuffer: 1 54 | m_DefaultMaterialType: 0 55 | m_DefaultCustomMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, 56 | type: 2} 57 | m_DefaultLitMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, 58 | type: 2} 59 | m_DefaultUnlitMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, 60 | type: 2} 61 | m_ShapeLightShader: {fileID: 4800000, guid: d79e1c784eaf80c4585c0be7391f757a, type: 3} 62 | m_ShapeLightVolumeShader: {fileID: 4800000, guid: 7e60080c8cd24a2468cb08b4bfee5606, 63 | type: 3} 64 | m_PointLightShader: {fileID: 4800000, guid: e35a31e1679aeff489e202f5cc4853d5, type: 3} 65 | m_PointLightVolumeShader: {fileID: 4800000, guid: c7d04ca57e5449d49ad9cee1c604bc26, 66 | type: 3} 67 | m_BlitShader: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3} 68 | m_ShadowGroupShader: {fileID: 4800000, guid: d33b6d70b14697547ad0dc2d4debb009, type: 3} 69 | m_RemoveSelfShadowShader: {fileID: 4800000, guid: 02e071f10b6a15d4d87dac88ce529302, 70 | type: 3} 71 | m_PostProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} 72 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMPro.cginc: -------------------------------------------------------------------------------- 1 | float2 UnpackUV(float uv) 2 | { 3 | float2 output; 4 | output.x = floor(uv / 4096); 5 | output.y = uv - 4096 * output.x; 6 | 7 | return output * 0.001953125; 8 | } 9 | 10 | fixed4 GetColor(half d, fixed4 faceColor, fixed4 outlineColor, half outline, half softness) 11 | { 12 | half faceAlpha = 1-saturate((d - outline * 0.5 + softness * 0.5) / (1.0 + softness)); 13 | half outlineAlpha = saturate((d + outline * 0.5)) * sqrt(min(1.0, outline)); 14 | 15 | faceColor.rgb *= faceColor.a; 16 | outlineColor.rgb *= outlineColor.a; 17 | 18 | faceColor = lerp(faceColor, outlineColor, outlineAlpha); 19 | 20 | faceColor *= faceAlpha; 21 | 22 | return faceColor; 23 | } 24 | 25 | float3 GetSurfaceNormal(float4 h, float bias) 26 | { 27 | bool raisedBevel = step(1, fmod(_ShaderFlags, 2)); 28 | 29 | h += bias+_BevelOffset; 30 | 31 | float bevelWidth = max(.01, _OutlineWidth+_BevelWidth); 32 | 33 | // Track outline 34 | h -= .5; 35 | h /= bevelWidth; 36 | h = saturate(h+.5); 37 | 38 | if(raisedBevel) h = 1 - abs(h*2.0 - 1.0); 39 | h = lerp(h, sin(h*3.141592/2.0), _BevelRoundness); 40 | h = min(h, 1.0-_BevelClamp); 41 | h *= _Bevel * bevelWidth * _GradientScale * -2.0; 42 | 43 | float3 va = normalize(float3(1.0, 0.0, h.y - h.x)); 44 | float3 vb = normalize(float3(0.0, -1.0, h.w - h.z)); 45 | 46 | return cross(va, vb); 47 | } 48 | 49 | float3 GetSurfaceNormal(float2 uv, float bias, float3 delta) 50 | { 51 | // Read "height field" 52 | float4 h = {tex2D(_MainTex, uv - delta.xz).a, 53 | tex2D(_MainTex, uv + delta.xz).a, 54 | tex2D(_MainTex, uv - delta.zy).a, 55 | tex2D(_MainTex, uv + delta.zy).a}; 56 | 57 | return GetSurfaceNormal(h, bias); 58 | } 59 | 60 | float3 GetSpecular(float3 n, float3 l) 61 | { 62 | float spec = pow(max(0.0, dot(n, l)), _Reflectivity); 63 | return _SpecularColor.rgb * spec * _SpecularPower; 64 | } 65 | 66 | float4 GetGlowColor(float d, float scale) 67 | { 68 | float glow = d - (_GlowOffset*_ScaleRatioB) * 0.5 * scale; 69 | float t = lerp(_GlowInner, (_GlowOuter * _ScaleRatioB), step(0.0, glow)) * 0.5 * scale; 70 | glow = saturate(abs(glow/(1.0 + t))); 71 | glow = 1.0-pow(glow, _GlowPower); 72 | glow *= sqrt(min(1.0, t)); // Fade off glow thinner than 1 screen pixel 73 | return float4(_GlowColor.rgb, saturate(_GlowColor.a * glow * 2)); 74 | } 75 | 76 | float4 BlendARGB(float4 overlying, float4 underlying) 77 | { 78 | overlying.rgb *= overlying.a; 79 | underlying.rgb *= underlying.a; 80 | float3 blended = overlying.rgb + ((1-overlying.a)*underlying.rgb); 81 | float alpha = underlying.a + (1-underlying.a)*overlying.a; 82 | return float4(blended, alpha); 83 | } 84 | 85 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/Match3GameSimulation.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | // TODO: Game Simulation uses the following namespace: Unity.Simulation.Games 4 | // Reference: https://docs.unity3d.com/Packages/com.unity.simulation.games@0.4/manual/ImplementationGuide.html 5 | 6 | public class Match3GameSimulation : MonoBehaviour { 7 | 8 | [SerializeField] private List levelList; 9 | [SerializeField] private Match3 match3; 10 | 11 | private LevelSO levelSO; 12 | 13 | private void Awake() { 14 | // TODO: Load parameters for grid search 15 | // GameSimManager.Instance.FetchConfig(Action) gets configuration information and takes 16 | // a callback you can use to modify game state based on the configuration of parameters for the run 17 | // 18 | // You'll need to call this method and provide a callback to initialize your state. 19 | // GameSimConfigResponse has a number of methods to get the value of some parameter. 20 | // In this example, the level is parameterized as a string, so you'll need to call the GetString(key) method on 21 | // the response object. 22 | // 23 | // This application loads level data by calling the SetLevelSO(LevelSO) method on the Match3 object. 24 | // Read the level from the game sim manager, find it in your levelList, and pass along the appropriate level to 25 | // your match3 instance. 26 | 27 | // TODO: Add event handler when winning/losing the game 28 | // Match3 provides event handlers OnWin and OnOutOfMoves. 29 | } 30 | 31 | private void Match3_OnWin(object sender, System.EventArgs e) { 32 | // TODO: Enable tracking metric Win_Moves_Used when the game is won 33 | // GameSimulation manages result data in 'counters'. They have an integral value type, and you may have any number 34 | // of them. 35 | // 36 | // GameSimManager.Instance.SetCounter(string name, long value) 37 | 38 | // TODO: Gracefully exit 39 | } 40 | 41 | private void Match3_OnOutOfMoves(object sender, System.EventArgs e) { 42 | // TODO: Enable tracking metric Lose when the game is lost 43 | // As above, you'll want to use SetCounter to track losing. 44 | 45 | // TODO: Gracefully exit 46 | } 47 | 48 | // Gracefully end the simulation 49 | private void EndGameSimulation() { 50 | // It's convenient for this to function in the expected manner in editor.. 51 | #if UNITY_EDITOR 52 | UnityEditor.EditorApplication.isPlaying = false; 53 | #else 54 | Application.Quit(); 55 | #endif 56 | } 57 | 58 | } 59 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 40 | - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0} 41 | m_PreloadedShaders: [] 42 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 43 | type: 0} 44 | m_CustomRenderPipeline: {fileID: 11400000, guid: da422ab582ee5dc4aaa1763c7a37cbc2, 45 | type: 2} 46 | m_TransparencySortMode: 0 47 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 48 | m_DefaultRenderingPath: 1 49 | m_DefaultMobileRenderingPath: 1 50 | m_TierSettings: [] 51 | m_LightmapStripping: 0 52 | m_FogStripping: 0 53 | m_InstancingStripping: 0 54 | m_LightmapKeepPlain: 1 55 | m_LightmapKeepDirCombined: 1 56 | m_LightmapKeepDynamicPlain: 1 57 | m_LightmapKeepDynamicDirCombined: 1 58 | m_LightmapKeepShadowMask: 1 59 | m_LightmapKeepSubtractive: 1 60 | m_FogKeepLinear: 1 61 | m_FogKeepExp: 1 62 | m_FogKeepExp2: 1 63 | m_AlbedoSwatchInfos: [] 64 | m_LightsUseLinearIntensity: 0 65 | m_LightsUseColorTemperature: 0 66 | m_LogWhenShaderIsCompiled: 0 67 | m_AllowEnlightenSupportForUpgradedProject: 1 68 | -------------------------------------------------------------------------------- /Assets/Match3/Global Volume Profile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &-5819715358810277527 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 3 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: 11500000, guid: 899c54efeace73346a0a16faa3afe726, type: 3} 13 | m_Name: Vignette 14 | m_EditorClassIdentifier: 15 | active: 1 16 | m_AdvancedMode: 0 17 | color: 18 | m_OverrideState: 1 19 | m_Value: {r: 0, g: 0, b: 0, a: 1} 20 | hdr: 0 21 | showAlpha: 0 22 | showEyeDropper: 1 23 | center: 24 | m_OverrideState: 0 25 | m_Value: {x: 0.5, y: 0.5} 26 | intensity: 27 | m_OverrideState: 1 28 | m_Value: 0.47 29 | min: 0 30 | max: 1 31 | smoothness: 32 | m_OverrideState: 0 33 | m_Value: 0.2 34 | min: 0.01 35 | max: 1 36 | rounded: 37 | m_OverrideState: 0 38 | m_Value: 0 39 | --- !u!114 &11400000 40 | MonoBehaviour: 41 | m_ObjectHideFlags: 0 42 | m_CorrespondingSourceObject: {fileID: 0} 43 | m_PrefabInstance: {fileID: 0} 44 | m_PrefabAsset: {fileID: 0} 45 | m_GameObject: {fileID: 0} 46 | m_Enabled: 1 47 | m_EditorHideFlags: 0 48 | m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3} 49 | m_Name: Global Volume Profile 50 | m_EditorClassIdentifier: 51 | components: 52 | - {fileID: 5928694549711199692} 53 | - {fileID: -5819715358810277527} 54 | --- !u!114 &5928694549711199692 55 | MonoBehaviour: 56 | m_ObjectHideFlags: 3 57 | m_CorrespondingSourceObject: {fileID: 0} 58 | m_PrefabInstance: {fileID: 0} 59 | m_PrefabAsset: {fileID: 0} 60 | m_GameObject: {fileID: 0} 61 | m_Enabled: 1 62 | m_EditorHideFlags: 0 63 | m_Script: {fileID: 11500000, guid: 0b2db86121404754db890f4c8dfe81b2, type: 3} 64 | m_Name: Bloom 65 | m_EditorClassIdentifier: 66 | active: 1 67 | m_AdvancedMode: 0 68 | threshold: 69 | m_OverrideState: 1 70 | m_Value: 1 71 | min: 0 72 | intensity: 73 | m_OverrideState: 1 74 | m_Value: 1 75 | min: 0 76 | scatter: 77 | m_OverrideState: 0 78 | m_Value: 0.7 79 | min: 0 80 | max: 1 81 | clamp: 82 | m_OverrideState: 0 83 | m_Value: 65472 84 | min: 0 85 | tint: 86 | m_OverrideState: 0 87 | m_Value: {r: 1, g: 1, b: 1, a: 1} 88 | hdr: 0 89 | showAlpha: 0 90 | showEyeDropper: 1 91 | highQualityFiltering: 92 | m_OverrideState: 0 93 | m_Value: 0 94 | dirtTexture: 95 | m_OverrideState: 0 96 | m_Value: {fileID: 0} 97 | dirtIntensity: 98 | m_OverrideState: 0 99 | m_Value: 0 100 | min: 0 101 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMP_Sprite.shader: -------------------------------------------------------------------------------- 1 | Shader "TextMeshPro/Sprite" 2 | { 3 | Properties 4 | { 5 | _MainTex ("Sprite Texture", 2D) = "white" {} 6 | _Color ("Tint", Color) = (1,1,1,1) 7 | 8 | _StencilComp ("Stencil Comparison", Float) = 8 9 | _Stencil ("Stencil ID", Float) = 0 10 | _StencilOp ("Stencil Operation", Float) = 0 11 | _StencilWriteMask ("Stencil Write Mask", Float) = 255 12 | _StencilReadMask ("Stencil Read Mask", Float) = 255 13 | 14 | _ColorMask ("Color Mask", Float) = 15 15 | _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) 16 | 17 | [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 18 | } 19 | 20 | SubShader 21 | { 22 | Tags 23 | { 24 | "Queue"="Transparent" 25 | "IgnoreProjector"="True" 26 | "RenderType"="Transparent" 27 | "PreviewType"="Plane" 28 | "CanUseSpriteAtlas"="True" 29 | } 30 | 31 | Stencil 32 | { 33 | Ref [_Stencil] 34 | Comp [_StencilComp] 35 | Pass [_StencilOp] 36 | ReadMask [_StencilReadMask] 37 | WriteMask [_StencilWriteMask] 38 | } 39 | 40 | Cull Off 41 | Lighting Off 42 | ZWrite Off 43 | ZTest [unity_GUIZTestMode] 44 | Blend SrcAlpha OneMinusSrcAlpha 45 | ColorMask [_ColorMask] 46 | 47 | Pass 48 | { 49 | CGPROGRAM 50 | #pragma vertex vert 51 | #pragma fragment frag 52 | 53 | #include "UnityCG.cginc" 54 | #include "UnityUI.cginc" 55 | 56 | #pragma multi_compile __ UNITY_UI_CLIP_RECT 57 | #pragma multi_compile __ UNITY_UI_ALPHACLIP 58 | 59 | struct appdata_t 60 | { 61 | float4 vertex : POSITION; 62 | float4 color : COLOR; 63 | float2 texcoord : TEXCOORD0; 64 | }; 65 | 66 | struct v2f 67 | { 68 | float4 vertex : SV_POSITION; 69 | fixed4 color : COLOR; 70 | half2 texcoord : TEXCOORD0; 71 | float4 worldPosition : TEXCOORD1; 72 | }; 73 | 74 | fixed4 _Color; 75 | fixed4 _TextureSampleAdd; 76 | float4 _ClipRect; 77 | 78 | v2f vert(appdata_t IN) 79 | { 80 | v2f OUT; 81 | OUT.worldPosition = IN.vertex; 82 | OUT.vertex = UnityObjectToClipPos(OUT.worldPosition); 83 | 84 | OUT.texcoord = IN.texcoord; 85 | 86 | #ifdef UNITY_HALF_TEXEL_OFFSET 87 | OUT.vertex.xy += (_ScreenParams.zw-1.0)*float2(-1,1); 88 | #endif 89 | 90 | OUT.color = IN.color * _Color; 91 | return OUT; 92 | } 93 | 94 | sampler2D _MainTex; 95 | 96 | fixed4 frag(v2f IN) : SV_Target 97 | { 98 | half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color; 99 | 100 | #if UNITY_UI_CLIP_RECT 101 | color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); 102 | #endif 103 | 104 | #ifdef UNITY_UI_ALPHACLIP 105 | clip (color.a - 0.001); 106 | #endif 107 | 108 | return color; 109 | } 110 | ENDCG 111 | } 112 | } 113 | } 114 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Assets/White_1x1.psd.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c33871c8638eb4c41bfb4577f3b58627 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 1 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 1 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 1 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 2048 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 0 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 1 86 | spriteSheet: 87 | serializedVersion: 2 88 | sprites: [] 89 | outline: [] 90 | physicsShape: [] 91 | bones: [] 92 | spriteID: 5e97eb03825dee720800000000000000 93 | internalID: 0 94 | vertices: [] 95 | indices: 96 | edges: [] 97 | weights: [] 98 | secondaryTextures: [] 99 | spritePackingTag: 100 | pSDRemoveMatte: 1 101 | pSDShowRemoveMatteOption: 1 102 | userData: 103 | assetBundleName: 104 | assetBundleVariant: 105 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc: -------------------------------------------------------------------------------- 1 | // UI Editable properties 2 | uniform sampler2D _FaceTex; // Alpha : Signed Distance 3 | uniform float _FaceUVSpeedX; 4 | uniform float _FaceUVSpeedY; 5 | uniform fixed4 _FaceColor; // RGBA : Color + Opacity 6 | uniform float _FaceDilate; // v[ 0, 1] 7 | uniform float _OutlineSoftness; // v[ 0, 1] 8 | 9 | uniform sampler2D _OutlineTex; // RGBA : Color + Opacity 10 | uniform float _OutlineUVSpeedX; 11 | uniform float _OutlineUVSpeedY; 12 | uniform fixed4 _OutlineColor; // RGBA : Color + Opacity 13 | uniform float _OutlineWidth; // v[ 0, 1] 14 | 15 | uniform float _Bevel; // v[ 0, 1] 16 | uniform float _BevelOffset; // v[-1, 1] 17 | uniform float _BevelWidth; // v[-1, 1] 18 | uniform float _BevelClamp; // v[ 0, 1] 19 | uniform float _BevelRoundness; // v[ 0, 1] 20 | 21 | uniform sampler2D _BumpMap; // Normal map 22 | uniform float _BumpOutline; // v[ 0, 1] 23 | uniform float _BumpFace; // v[ 0, 1] 24 | 25 | uniform samplerCUBE _Cube; // Cube / sphere map 26 | uniform fixed4 _ReflectFaceColor; // RGB intensity 27 | uniform fixed4 _ReflectOutlineColor; 28 | //uniform float _EnvTiltX; // v[-1, 1] 29 | //uniform float _EnvTiltY; // v[-1, 1] 30 | uniform float3 _EnvMatrixRotation; 31 | uniform float4x4 _EnvMatrix; 32 | 33 | uniform fixed4 _SpecularColor; // RGB intensity 34 | uniform float _LightAngle; // v[ 0,Tau] 35 | uniform float _SpecularPower; // v[ 0, 1] 36 | uniform float _Reflectivity; // v[ 5, 15] 37 | uniform float _Diffuse; // v[ 0, 1] 38 | uniform float _Ambient; // v[ 0, 1] 39 | 40 | uniform fixed4 _UnderlayColor; // RGBA : Color + Opacity 41 | uniform float _UnderlayOffsetX; // v[-1, 1] 42 | uniform float _UnderlayOffsetY; // v[-1, 1] 43 | uniform float _UnderlayDilate; // v[-1, 1] 44 | uniform float _UnderlaySoftness; // v[ 0, 1] 45 | 46 | uniform fixed4 _GlowColor; // RGBA : Color + Intesity 47 | uniform float _GlowOffset; // v[-1, 1] 48 | uniform float _GlowOuter; // v[ 0, 1] 49 | uniform float _GlowInner; // v[ 0, 1] 50 | uniform float _GlowPower; // v[ 1, 1/(1+4*4)] 51 | 52 | // API Editable properties 53 | uniform float _ShaderFlags; 54 | uniform float _WeightNormal; 55 | uniform float _WeightBold; 56 | 57 | uniform float _ScaleRatioA; 58 | uniform float _ScaleRatioB; 59 | uniform float _ScaleRatioC; 60 | 61 | uniform float _VertexOffsetX; 62 | uniform float _VertexOffsetY; 63 | 64 | //uniform float _UseClipRect; 65 | uniform float _MaskID; 66 | uniform sampler2D _MaskTex; 67 | uniform float4 _MaskCoord; 68 | uniform float4 _ClipRect; // bottom left(x,y) : top right(z,w) 69 | //uniform float _MaskWipeControl; 70 | //uniform float _MaskEdgeSoftness; 71 | //uniform fixed4 _MaskEdgeColor; 72 | //uniform bool _MaskInverse; 73 | 74 | uniform float _MaskSoftnessX; 75 | uniform float _MaskSoftnessY; 76 | 77 | // Font Atlas properties 78 | uniform sampler2D _MainTex; 79 | uniform float _TextureWidth; 80 | uniform float _TextureHeight; 81 | uniform float _GradientScale; 82 | uniform float _ScaleX; 83 | uniform float _ScaleY; 84 | uniform float _PerspectiveFilter; 85 | uniform float _Sharpness; 86 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/Match3UI.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using TMPro; 5 | 6 | public class Match3UI : MonoBehaviour { 7 | 8 | [SerializeField] private Match3 match3; 9 | 10 | private TextMeshProUGUI movesText; 11 | private TextMeshProUGUI scoreText; 12 | private TextMeshProUGUI targetScoreText; 13 | private TextMeshProUGUI glassText; 14 | private Transform winLoseTransform; 15 | 16 | private void Awake() { 17 | movesText = transform.Find("movesText").GetComponent(); 18 | scoreText = transform.Find("scoreText").GetComponent(); 19 | glassText = transform.Find("glassText").GetComponent(); 20 | targetScoreText = transform.Find("targetScoreText").GetComponent(); 21 | 22 | winLoseTransform = transform.Find("winLose"); 23 | winLoseTransform.gameObject.SetActive(false); 24 | 25 | match3.OnLevelSet += Match3_OnLevelSet; 26 | match3.OnMoveUsed += Match3_OnMoveUsed; 27 | match3.OnGlassDestroyed += Match3_OnGlassDestroyed; 28 | match3.OnScoreChanged += Match3_OnScoreChanged; 29 | 30 | match3.OnOutOfMoves += Match3_OnOutOfMoves; 31 | match3.OnWin += Match3_OnWin; 32 | } 33 | 34 | private void Match3_OnWin(object sender, System.EventArgs e) { 35 | winLoseTransform.gameObject.SetActive(true); 36 | winLoseTransform.Find("text").GetComponent().text = "YOU WIN!"; 37 | } 38 | 39 | private void Match3_OnOutOfMoves(object sender, System.EventArgs e) { 40 | winLoseTransform.gameObject.SetActive(true); 41 | winLoseTransform.Find("text").GetComponent().text = "YOU LOSE!"; 42 | } 43 | 44 | private void Match3_OnScoreChanged(object sender, System.EventArgs e) { 45 | UpdateText(); 46 | } 47 | 48 | private void Match3_OnGlassDestroyed(object sender, System.EventArgs e) { 49 | UpdateText(); 50 | } 51 | 52 | private void Match3_OnMoveUsed(object sender, System.EventArgs e) { 53 | UpdateText(); 54 | } 55 | 56 | private void Match3_OnLevelSet(object sender, System.EventArgs e) { 57 | LevelSO levelSO = match3.GetLevelSO(); 58 | 59 | switch (levelSO.goalType) { 60 | default: 61 | case LevelSO.GoalType.Glass: 62 | transform.Find("glassImage").gameObject.SetActive(true); 63 | glassText.gameObject.SetActive(true); 64 | 65 | targetScoreText.gameObject.SetActive(false); 66 | break; 67 | case LevelSO.GoalType.Score: 68 | transform.Find("glassImage").gameObject.SetActive(false); 69 | glassText.gameObject.SetActive(false); 70 | 71 | targetScoreText.gameObject.SetActive(true); 72 | 73 | targetScoreText.text = levelSO.targetScore.ToString(); 74 | break; 75 | } 76 | 77 | UpdateText(); 78 | } 79 | 80 | private void UpdateText() { 81 | movesText.text = match3.GetMoveCount().ToString(); 82 | scoreText.text = match3.GetScore().ToString(); 83 | glassText.text = match3.GetGlassAmount().ToString(); 84 | } 85 | 86 | 87 | } 88 | -------------------------------------------------------------------------------- /Assets/Match3/Textures/ChatBubble.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b04e7e50e3d9ace45ad01dd87cb0e5ee 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 0 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 18 49 | spriteBorder: {x: 40, y: 40, z: 40, w: 40} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 1 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 2048 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 0 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: WebGL 88 | maxTextureSize: 2048 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 0 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 0 98 | spriteSheet: 99 | serializedVersion: 2 100 | sprites: [] 101 | outline: [] 102 | physicsShape: [] 103 | bones: [] 104 | spriteID: 5e97eb03825dee720800000000000000 105 | internalID: 0 106 | vertices: [] 107 | indices: 108 | edges: [] 109 | weights: [] 110 | secondaryTextures: [] 111 | spritePackingTag: 112 | pSDRemoveMatte: 0 113 | pSDShowRemoveMatteOption: 0 114 | userData: 115 | assetBundleName: 116 | assetBundleVariant: 117 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.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: LiberationSans SDF - Outline 11 | m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} 12 | m_ShaderKeywords: OUTLINE_ON 13 | m_LightmapFlags: 5 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 | - _Cube: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _FaceTex: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _MainTex: 35 | m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee, 36 | type: 2} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _OutlineTex: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | m_Floats: 44 | - _Ambient: 0.5 45 | - _Bevel: 0.5 46 | - _BevelClamp: 0 47 | - _BevelOffset: 0 48 | - _BevelRoundness: 0 49 | - _BevelWidth: 0 50 | - _BumpFace: 0 51 | - _BumpOutline: 0 52 | - _ColorMask: 15 53 | - _Diffuse: 0.5 54 | - _FaceDilate: 0.1 55 | - _FaceUVSpeedX: 0 56 | - _FaceUVSpeedY: 0 57 | - _GlowInner: 0.05 58 | - _GlowOffset: 0 59 | - _GlowOuter: 0.05 60 | - _GlowPower: 0.75 61 | - _GradientScale: 10 62 | - _LightAngle: 3.1416 63 | - _MaskSoftnessX: 0 64 | - _MaskSoftnessY: 0 65 | - _OutlineSoftness: 0 66 | - _OutlineUVSpeedX: 0 67 | - _OutlineUVSpeedY: 0 68 | - _OutlineWidth: 0.1 69 | - _PerspectiveFilter: 0.875 70 | - _Reflectivity: 10 71 | - _ScaleRatioA: 0.9 72 | - _ScaleRatioB: 0.73125 73 | - _ScaleRatioC: 0.64125 74 | - _ScaleX: 1 75 | - _ScaleY: 1 76 | - _ShaderFlags: 0 77 | - _Sharpness: 0 78 | - _SpecularPower: 2 79 | - _Stencil: 0 80 | - _StencilComp: 8 81 | - _StencilOp: 0 82 | - _StencilReadMask: 255 83 | - _StencilWriteMask: 255 84 | - _TextureHeight: 1024 85 | - _TextureWidth: 1024 86 | - _UnderlayDilate: 0 87 | - _UnderlayOffsetX: 0 88 | - _UnderlayOffsetY: 0 89 | - _UnderlaySoftness: 0 90 | - _VertexOffsetX: 0 91 | - _VertexOffsetY: 0 92 | - _WeightBold: 0.75 93 | - _WeightNormal: 0 94 | m_Colors: 95 | - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} 96 | - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} 97 | - _FaceColor: {r: 1, g: 1, b: 1, a: 1} 98 | - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} 99 | - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} 100 | - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} 101 | - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} 102 | - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} 103 | - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} 104 | - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} 105 | -------------------------------------------------------------------------------- /Assets/Match3/Scripts/Match3Bot.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class Match3Bot : MonoBehaviour { 6 | 7 | [SerializeField] private Match3 match3; 8 | [SerializeField] private Match3Visual match3Visual; 9 | 10 | private LevelSO levelSO; 11 | 12 | private void Awake() { 13 | match3Visual.OnStateChanged += Match3Visual_OnStateChanged; 14 | 15 | match3.OnOutOfMoves += Match3_OnOutOfMoves; 16 | match3.OnWin += Match3_OnWin; 17 | match3.OnLevelSet += Match3_OnLevelSet; 18 | } 19 | 20 | private void Update() { 21 | if (Input.GetKeyDown(KeyCode.Space)) { 22 | // Manual Bot Move 23 | //BotDoMove(); 24 | } 25 | } 26 | 27 | private void Match3_OnLevelSet(object sender, Match3.OnLevelSetEventArgs e) { 28 | levelSO = e.levelSO; 29 | } 30 | 31 | private void Match3_OnWin(object sender, System.EventArgs e) { 32 | // Win! 33 | } 34 | 35 | private void Match3_OnOutOfMoves(object sender, System.EventArgs e) { 36 | // Out of moves! 37 | } 38 | 39 | private void Match3Visual_OnStateChanged(object sender, System.EventArgs e) { 40 | switch (match3Visual.GetState()) { 41 | case Match3Visual.State.WaitingForUser: 42 | BotDoMove(); 43 | break; 44 | } 45 | } 46 | 47 | private void BotDoMove() { 48 | // Try to solve 49 | List possibleMoveList = match3.GetAllPossibleMoves(); 50 | 51 | Match3.PossibleMove bestPossibleMove = GetBestPossibleMove(possibleMoveList); 52 | 53 | if (bestPossibleMove == null) { 54 | Debug.LogError("Bot cannot find a possible move!"); 55 | } else { 56 | match3Visual.SwapGridPositions(bestPossibleMove.startX, bestPossibleMove.startY, bestPossibleMove.endX, bestPossibleMove.endY); 57 | } 58 | } 59 | 60 | private Match3.PossibleMove GetBestPossibleMove(List possibleMoveList) { 61 | Match3.PossibleMove bestPossibleMove = null; 62 | 63 | switch (levelSO.goalType) { 64 | case LevelSO.GoalType.Score: 65 | foreach (Match3.PossibleMove possibleMove in possibleMoveList) { 66 | if (bestPossibleMove == null) { 67 | bestPossibleMove = possibleMove; 68 | } else { 69 | if (possibleMove.GetTotalMatchAmount() > bestPossibleMove.GetTotalMatchAmount()) { 70 | // Better move 71 | bestPossibleMove = possibleMove; 72 | } 73 | } 74 | } 75 | break; 76 | case LevelSO.GoalType.Glass: 77 | foreach (Match3.PossibleMove possibleMove in possibleMoveList) { 78 | if (bestPossibleMove == null) { 79 | bestPossibleMove = possibleMove; 80 | } else { 81 | if (possibleMove.GetTotalGlassAmount() > bestPossibleMove.GetTotalGlassAmount()) { 82 | // Better move 83 | bestPossibleMove = possibleMove; 84 | } 85 | } 86 | } 87 | break; 88 | default: 89 | Debug.Log("Bot does not recognize this goal type"); 90 | break; 91 | } 92 | return bestPossibleMove; 93 | } 94 | 95 | } 96 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.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: LiberationSans SDF - Drop Shadow 11 | m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} 12 | m_ShaderKeywords: OUTLINE_ON UNDERLAY_ON 13 | m_LightmapFlags: 5 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 | - _Cube: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _FaceTex: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _MainTex: 35 | m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee, 36 | type: 2} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _OutlineTex: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | m_Floats: 44 | - _Ambient: 0.5 45 | - _Bevel: 0.5 46 | - _BevelClamp: 0 47 | - _BevelOffset: 0 48 | - _BevelRoundness: 0 49 | - _BevelWidth: 0 50 | - _BumpFace: 0 51 | - _BumpOutline: 0 52 | - _ColorMask: 15 53 | - _Diffuse: 0.5 54 | - _DiffusePower: 1 55 | - _FaceDilate: 0.1 56 | - _FaceUVSpeedX: 0 57 | - _FaceUVSpeedY: 0 58 | - _GlowInner: 0.05 59 | - _GlowOffset: 0 60 | - _GlowOuter: 0.05 61 | - _GlowPower: 0.75 62 | - _GradientScale: 10 63 | - _LightAngle: 3.1416 64 | - _MaskSoftnessX: 0 65 | - _MaskSoftnessY: 0 66 | - _OutlineSoftness: 0 67 | - _OutlineUVSpeedX: 0 68 | - _OutlineUVSpeedY: 0 69 | - _OutlineWidth: 0.1 70 | - _PerspectiveFilter: 0.875 71 | - _Reflectivity: 10 72 | - _ScaleRatioA: 0.9 73 | - _ScaleRatioB: 0.73125 74 | - _ScaleRatioC: 0.64125 75 | - _ScaleX: 1 76 | - _ScaleY: 1 77 | - _ShaderFlags: 0 78 | - _Sharpness: 0 79 | - _SpecularPower: 2 80 | - _Stencil: 0 81 | - _StencilComp: 8 82 | - _StencilOp: 0 83 | - _StencilReadMask: 255 84 | - _StencilWriteMask: 255 85 | - _TextureHeight: 1024 86 | - _TextureWidth: 1024 87 | - _UnderlayDilate: 0 88 | - _UnderlayOffsetX: 0.5 89 | - _UnderlayOffsetY: -0.5 90 | - _UnderlaySoftness: 0.05 91 | - _VertexOffsetX: 0 92 | - _VertexOffsetY: 0 93 | - _WeightBold: 0.75 94 | - _WeightNormal: 0 95 | m_Colors: 96 | - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} 97 | - _Color: {r: 1, g: 1, b: 1, a: 1} 98 | - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} 99 | - _FaceColor: {r: 1, g: 1, b: 1, a: 1} 100 | - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} 101 | - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} 102 | - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} 103 | - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} 104 | - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} 105 | - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} 106 | - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} 107 | -------------------------------------------------------------------------------- /Assets/Match3/Prefabs/pfGlassGridVisual.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &3357849611372074684 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: 4475699381534582891} 12 | m_Layer: 0 13 | m_Name: pfGlassGridVisual 14 | m_TagString: Untagged 15 | m_Icon: {fileID: 0} 16 | m_NavMeshLayer: 0 17 | m_StaticEditorFlags: 0 18 | m_IsActive: 1 19 | --- !u!4 &4475699381534582891 20 | Transform: 21 | m_ObjectHideFlags: 0 22 | m_CorrespondingSourceObject: {fileID: 0} 23 | m_PrefabInstance: {fileID: 0} 24 | m_PrefabAsset: {fileID: 0} 25 | m_GameObject: {fileID: 3357849611372074684} 26 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 27 | m_LocalPosition: {x: 0, y: 0, z: 0} 28 | m_LocalScale: {x: 1, y: 1, z: 1} 29 | m_Children: 30 | - {fileID: 8039713372682510233} 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!1 &6490098133347340472 35 | GameObject: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | serializedVersion: 6 41 | m_Component: 42 | - component: {fileID: 8039713372682510233} 43 | - component: {fileID: 854829125628734108} 44 | m_Layer: 0 45 | m_Name: sprite 46 | m_TagString: Untagged 47 | m_Icon: {fileID: 0} 48 | m_NavMeshLayer: 0 49 | m_StaticEditorFlags: 0 50 | m_IsActive: 1 51 | --- !u!4 &8039713372682510233 52 | Transform: 53 | m_ObjectHideFlags: 0 54 | m_CorrespondingSourceObject: {fileID: 0} 55 | m_PrefabInstance: {fileID: 0} 56 | m_PrefabAsset: {fileID: 0} 57 | m_GameObject: {fileID: 6490098133347340472} 58 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 59 | m_LocalPosition: {x: 0.5, y: 0.5, z: 0} 60 | m_LocalScale: {x: 1, y: 1, z: 1} 61 | m_Children: [] 62 | m_Father: {fileID: 4475699381534582891} 63 | m_RootOrder: 0 64 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 65 | --- !u!212 &854829125628734108 66 | SpriteRenderer: 67 | m_ObjectHideFlags: 0 68 | m_CorrespondingSourceObject: {fileID: 0} 69 | m_PrefabInstance: {fileID: 0} 70 | m_PrefabAsset: {fileID: 0} 71 | m_GameObject: {fileID: 6490098133347340472} 72 | m_Enabled: 1 73 | m_CastShadows: 0 74 | m_ReceiveShadows: 0 75 | m_DynamicOccludee: 1 76 | m_MotionVectors: 1 77 | m_LightProbeUsage: 1 78 | m_ReflectionProbeUsage: 1 79 | m_RayTracingMode: 0 80 | m_RenderingLayerMask: 1 81 | m_RendererPriority: 0 82 | m_Materials: 83 | - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} 84 | m_StaticBatchInfo: 85 | firstSubMesh: 0 86 | subMeshCount: 0 87 | m_StaticBatchRoot: {fileID: 0} 88 | m_ProbeAnchor: {fileID: 0} 89 | m_LightProbeVolumeOverride: {fileID: 0} 90 | m_ScaleInLightmap: 1 91 | m_ReceiveGI: 1 92 | m_PreserveUVs: 0 93 | m_IgnoreNormalsForChartDetection: 0 94 | m_ImportantGI: 0 95 | m_StitchLightmapSeams: 1 96 | m_SelectedEditorRenderState: 0 97 | m_MinimumChartSize: 4 98 | m_AutoUVMaxDistance: 0.5 99 | m_AutoUVMaxAngle: 89 100 | m_LightmapParameters: {fileID: 0} 101 | m_SortingLayerID: 0 102 | m_SortingLayer: 0 103 | m_SortingOrder: 20 104 | m_Sprite: {fileID: 21300000, guid: 182327f6a8413314c8578a0a283b4d6f, type: 3} 105 | m_Color: {r: 1, g: 1, b: 1, a: 0.34901962} 106 | m_FlipX: 0 107 | m_FlipY: 0 108 | m_DrawMode: 0 109 | m_Size: {x: 5.12, y: 5.12} 110 | m_AdaptiveModeThreshold: 0.5 111 | m_SpriteTileMode: 0 112 | m_WasSpriteAssigned: 1 113 | m_MaskInteraction: 0 114 | m_SpriteSortPoint: 0 115 | -------------------------------------------------------------------------------- /Assets/Match3/Prefabs/pfBackgroundGridVisual.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &2332617975763604376 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: 2325929342210689930} 12 | - component: {fileID: 1142344484491929201} 13 | m_Layer: 0 14 | m_Name: sprite 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &2325929342210689930 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: 2332617975763604376} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0.5, y: 0.5, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 4475699381534582891} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!212 &1142344484491929201 35 | SpriteRenderer: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 2332617975763604376} 41 | m_Enabled: 1 42 | m_CastShadows: 0 43 | m_ReceiveShadows: 0 44 | m_DynamicOccludee: 1 45 | m_MotionVectors: 1 46 | m_LightProbeUsage: 1 47 | m_ReflectionProbeUsage: 1 48 | m_RayTracingMode: 0 49 | m_RenderingLayerMask: 1 50 | m_RendererPriority: 0 51 | m_Materials: 52 | - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} 53 | m_StaticBatchInfo: 54 | firstSubMesh: 0 55 | subMeshCount: 0 56 | m_StaticBatchRoot: {fileID: 0} 57 | m_ProbeAnchor: {fileID: 0} 58 | m_LightProbeVolumeOverride: {fileID: 0} 59 | m_ScaleInLightmap: 1 60 | m_ReceiveGI: 1 61 | m_PreserveUVs: 0 62 | m_IgnoreNormalsForChartDetection: 0 63 | m_ImportantGI: 0 64 | m_StitchLightmapSeams: 1 65 | m_SelectedEditorRenderState: 0 66 | m_MinimumChartSize: 4 67 | m_AutoUVMaxDistance: 0.5 68 | m_AutoUVMaxAngle: 89 69 | m_LightmapParameters: {fileID: 0} 70 | m_SortingLayerID: 0 71 | m_SortingLayer: 0 72 | m_SortingOrder: -10 73 | m_Sprite: {fileID: 21300000, guid: 9aee32d9509834f489d78e88a7c679ba, type: 3} 74 | m_Color: {r: 1, g: 1, b: 1, a: 1} 75 | m_FlipX: 0 76 | m_FlipY: 0 77 | m_DrawMode: 0 78 | m_Size: {x: 5.12, y: 5.12} 79 | m_AdaptiveModeThreshold: 0.5 80 | m_SpriteTileMode: 0 81 | m_WasSpriteAssigned: 1 82 | m_MaskInteraction: 0 83 | m_SpriteSortPoint: 0 84 | --- !u!1 &3357849611372074684 85 | GameObject: 86 | m_ObjectHideFlags: 0 87 | m_CorrespondingSourceObject: {fileID: 0} 88 | m_PrefabInstance: {fileID: 0} 89 | m_PrefabAsset: {fileID: 0} 90 | serializedVersion: 6 91 | m_Component: 92 | - component: {fileID: 4475699381534582891} 93 | m_Layer: 0 94 | m_Name: pfBackgroundGridVisual 95 | m_TagString: Untagged 96 | m_Icon: {fileID: 0} 97 | m_NavMeshLayer: 0 98 | m_StaticEditorFlags: 0 99 | m_IsActive: 1 100 | --- !u!4 &4475699381534582891 101 | Transform: 102 | m_ObjectHideFlags: 0 103 | m_CorrespondingSourceObject: {fileID: 0} 104 | m_PrefabInstance: {fileID: 0} 105 | m_PrefabAsset: {fileID: 0} 106 | m_GameObject: {fileID: 3357849611372074684} 107 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 108 | m_LocalPosition: {x: 0, y: 0, z: 0} 109 | m_LocalScale: {x: 1, y: 1, z: 1} 110 | m_Children: 111 | - {fileID: 2325929342210689930} 112 | m_Father: {fileID: 0} 113 | m_RootOrder: 0 114 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 115 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/UI_BarMultiple.cs: -------------------------------------------------------------------------------- 1 | /* 2 | ------------------- Code Monkey ------------------- 3 | 4 | Thank you for downloading the Code Monkey Utilities 5 | I hope you find them useful in your projects 6 | If you have any questions use the contact form 7 | Cheers! 8 | 9 | unitycodemonkey.com 10 | -------------------------------------------------- 11 | */ 12 | 13 | using System.Collections.Generic; 14 | using UnityEngine; 15 | using UnityEngine.UI; 16 | 17 | namespace CodeMonkey.Utils { 18 | 19 | /* 20 | * UI Container with multiple bars, useful for displaying one bar with multiple inner bars like success chance and failure chance 21 | * */ 22 | public class UI_BarMultiple { 23 | 24 | private GameObject gameObject; 25 | private RectTransform rectTransform; 26 | private RectTransform[] barArr; 27 | private Image[] barImageArr; 28 | private Vector2 size; 29 | 30 | public class Outline { 31 | public float size = 1f; 32 | public Color color = Color.black; 33 | public Outline(float size, Color color) { 34 | this.size = size; 35 | this.color = color; 36 | } 37 | } 38 | 39 | public UI_BarMultiple(Transform parent, Vector2 anchoredPosition, Vector2 size, Color[] barColorArr, Outline outline) { 40 | this.size = size; 41 | SetupParent(parent, anchoredPosition, size); 42 | if (outline != null) SetupOutline(outline, size); 43 | List barList = new List(); 44 | List barImageList = new List(); 45 | List defaultSizeList = new List(); 46 | foreach (Color color in barColorArr) { 47 | barList.Add(SetupBar(color)); 48 | defaultSizeList.Add(1f / barColorArr.Length); 49 | } 50 | barArr = barList.ToArray(); 51 | barImageArr = barImageList.ToArray(); 52 | SetSizes(defaultSizeList.ToArray()); 53 | } 54 | private void SetupParent(Transform parent, Vector2 anchoredPosition, Vector2 size) { 55 | gameObject = new GameObject("UI_BarMultiple", typeof(RectTransform)); 56 | rectTransform = gameObject.GetComponent(); 57 | rectTransform.SetParent(parent, false); 58 | rectTransform.sizeDelta = size; 59 | rectTransform.anchorMin = new Vector2(0, .5f); 60 | rectTransform.anchorMax = new Vector2(0, .5f); 61 | rectTransform.pivot = new Vector2(0, .5f); 62 | rectTransform.anchoredPosition = anchoredPosition; 63 | } 64 | private void SetupOutline(Outline outline, Vector2 size) { 65 | UtilsClass.DrawSprite(outline.color, gameObject.transform, Vector2.zero, size + new Vector2(outline.size, outline.size), "Outline"); 66 | } 67 | private RectTransform SetupBar(Color barColor) { 68 | RectTransform bar = UtilsClass.DrawSprite(barColor, gameObject.transform, Vector2.zero, Vector2.zero, "Bar"); 69 | bar.anchorMin = new Vector2(0,0); 70 | bar.anchorMax = new Vector2(0,1f); 71 | bar.pivot = new Vector2(0,.5f); 72 | return bar; 73 | } 74 | public void SetSizes(float[] sizeArr) { 75 | if (sizeArr.Length != barArr.Length) { 76 | throw new System.Exception("Length doesn't match!"); 77 | } 78 | Vector2 pos = Vector2.zero; 79 | for (int i=0; i GetTextFunc, Vector3 localPosition, Transform parent = null) { 51 | return UtilsClass.CreateWorldTextUpdater(GetTextFunc, localPosition, parent); 52 | } 53 | 54 | // Text Updater in UI 55 | public static FunctionUpdater TextUpdaterUI(Func GetTextFunc, Vector2 anchoredPosition) { 56 | return UtilsClass.CreateUITextUpdater(GetTextFunc, anchoredPosition); 57 | } 58 | 59 | // Text Updater always following mouse 60 | public static void MouseTextUpdater(Func GetTextFunc, Vector3 positionOffset = default(Vector3)) { 61 | GameObject gameObject = new GameObject(); 62 | FunctionUpdater.Create(() => { 63 | gameObject.transform.position = UtilsClass.GetMouseWorldPosition() + positionOffset; 64 | return false; 65 | }); 66 | TextUpdater(GetTextFunc, Vector3.zero, gameObject.transform); 67 | } 68 | 69 | // Trigger Action on Key 70 | public static FunctionUpdater KeyCodeAction(KeyCode keyCode, Action onKeyDown) { 71 | return UtilsClass.CreateKeyCodeAction(keyCode, onKeyDown); 72 | } 73 | 74 | 75 | 76 | // Debug DrawLine to draw a projectile, turn Gizmos On 77 | public static void DebugProjectile(Vector3 from, Vector3 to, float speed, float projectileSize) { 78 | Vector3 dir = (to - from).normalized; 79 | Vector3 pos = from; 80 | FunctionUpdater.Create(() => { 81 | Debug.DrawLine(pos, pos + dir * projectileSize); 82 | float distanceBefore = Vector3.Distance(pos, to); 83 | pos += dir * speed * Time.deltaTime; 84 | float distanceAfter = Vector3.Distance(pos, to); 85 | if (distanceBefore < distanceAfter) { 86 | return true; 87 | } 88 | return false; 89 | }); 90 | } 91 | 92 | 93 | } 94 | 95 | } -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMPro_Surface.cginc: -------------------------------------------------------------------------------- 1 | void VertShader(inout appdata_full v, out Input data) 2 | { 3 | v.vertex.x += _VertexOffsetX; 4 | v.vertex.y += _VertexOffsetY; 5 | 6 | UNITY_INITIALIZE_OUTPUT(Input, data); 7 | 8 | float bold = step(v.texcoord1.y, 0); 9 | 10 | // Generate normal for backface 11 | float3 view = ObjSpaceViewDir(v.vertex); 12 | v.normal *= sign(dot(v.normal, view)); 13 | 14 | #if USE_DERIVATIVE 15 | data.param.y = 1; 16 | #else 17 | float4 vert = v.vertex; 18 | float4 vPosition = UnityObjectToClipPos(vert); 19 | float2 pixelSize = vPosition.w; 20 | 21 | pixelSize /= float2(_ScaleX, _ScaleY) * mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy); 22 | float scale = rsqrt(dot(pixelSize, pixelSize)); 23 | scale *= abs(v.texcoord1.y) * _GradientScale * (_Sharpness + 1); 24 | scale = lerp(scale * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(v.normal.xyz), normalize(WorldSpaceViewDir(vert))))); 25 | data.param.y = scale; 26 | #endif 27 | 28 | //float opacity = v.color.a; 29 | 30 | data.param.x = (lerp(_WeightNormal, _WeightBold, bold) / 4.0 + _FaceDilate) * _ScaleRatioA * 0.5; // 31 | 32 | v.texcoord1.xy = UnpackUV(v.texcoord1.x); 33 | data.viewDirEnv = mul((float3x3)_EnvMatrix, WorldSpaceViewDir(v.vertex)); 34 | } 35 | 36 | void PixShader(Input input, inout SurfaceOutput o) 37 | { 38 | 39 | #if USE_DERIVATIVE | BEVEL_ON 40 | float3 delta = float3(1.0 / _TextureWidth, 1.0 / _TextureHeight, 0.0); 41 | 42 | float4 smp4x = { tex2D(_MainTex, input.uv_MainTex - delta.xz).a, 43 | tex2D(_MainTex, input.uv_MainTex + delta.xz).a, 44 | tex2D(_MainTex, input.uv_MainTex - delta.zy).a, 45 | tex2D(_MainTex, input.uv_MainTex + delta.zy).a }; 46 | #endif 47 | 48 | #if USE_DERIVATIVE 49 | // Screen space scaling reciprocal with anisotropic correction 50 | float2 edgeNormal = Normalize(float2(smp4x.x - smp4x.y, smp4x.z - smp4x.w)); 51 | float2 res = float2(_TextureWidth * input.param.y, _TextureHeight); 52 | float2 tdx = ddx(input.uv_MainTex)*res; 53 | float2 tdy = ddy(input.uv_MainTex)*res; 54 | float lx = length(tdx); 55 | float ly = length(tdy); 56 | float s = sqrt(min(lx, ly) / max(lx, ly)); 57 | s = lerp(1, s, abs(dot(normalize(tdx + tdy), edgeNormal))); 58 | float scale = rsqrt(abs(tdx.x * tdy.y - tdx.y * tdy.x)) * (_GradientScale * 2) * s; 59 | #else 60 | float scale = input.param.y; 61 | #endif 62 | 63 | // Signed distance 64 | float c = tex2D(_MainTex, input.uv_MainTex).a; 65 | float sd = (.5 - c - input.param.x) * scale + .5; 66 | float outline = _OutlineWidth*_ScaleRatioA * scale; 67 | float softness = _OutlineSoftness*_ScaleRatioA * scale; 68 | 69 | // Color & Alpha 70 | float4 faceColor = _FaceColor; 71 | float4 outlineColor = _OutlineColor; 72 | faceColor *= input.color; 73 | outlineColor.a *= input.color.a; 74 | faceColor *= tex2D(_FaceTex, float2(input.uv2_FaceTex.x + _FaceUVSpeedX * _Time.y, input.uv2_FaceTex.y + _FaceUVSpeedY * _Time.y)); 75 | outlineColor *= tex2D(_OutlineTex, float2(input.uv2_OutlineTex.x + _OutlineUVSpeedX * _Time.y, input.uv2_OutlineTex.y + _OutlineUVSpeedY * _Time.y)); 76 | faceColor = GetColor(sd, faceColor, outlineColor, outline, softness); 77 | faceColor.rgb /= max(faceColor.a, 0.0001); 78 | 79 | 80 | #if BEVEL_ON 81 | // Face Normal 82 | float3 n = GetSurfaceNormal(smp4x, input.param.x); 83 | 84 | // Bumpmap 85 | float3 bump = UnpackNormal(tex2D(_BumpMap, input.uv2_FaceTex.xy)).xyz; 86 | bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5)); 87 | bump = lerp(float3(0, 0, 1), bump, faceColor.a); 88 | n = normalize(n - bump); 89 | 90 | // Cubemap reflection 91 | fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDirEnv, mul((float3x3)unity_ObjectToWorld, n))); 92 | float3 emission = reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a; 93 | #else 94 | float3 n = float3(0, 0, -1); 95 | float3 emission = float3(0, 0, 0); 96 | #endif 97 | 98 | 99 | 100 | #if GLOW_ON 101 | float4 glowColor = GetGlowColor(sd, scale); 102 | glowColor.a *= input.color.a; 103 | emission += glowColor.rgb*glowColor.a; 104 | faceColor = BlendARGB(glowColor, faceColor); 105 | faceColor.rgb /= max(faceColor.a, 0.0001); 106 | #endif 107 | 108 | // Set Standard output structure 109 | o.Albedo = faceColor.rgb; 110 | o.Normal = -n; 111 | o.Emission = emission; 112 | o.Specular = lerp(_FaceShininess, _OutlineShininess, saturate(sd + outline * 0.5)); 113 | o.Gloss = 1; 114 | o.Alpha = faceColor.a; 115 | } 116 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt: -------------------------------------------------------------------------------- 1 | Digitized data copyright (c) 2010 Google Corporation 2 | with Reserved Font Arimo, Tinos and Cousine. 3 | Copyright (c) 2012 Red Hat, Inc. 4 | with Reserved Font Name Liberation. 5 | 6 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 7 | This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL 8 | 9 | ----------------------------------------------------------- 10 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 11 | ----------------------------------------------------------- 12 | 13 | PREAMBLE 14 | The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. 15 | 16 | The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. 17 | 18 | DEFINITIONS 19 | "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. 20 | 21 | "Reserved Font Name" refers to any names specified as such after the copyright statement(s). 22 | 23 | "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). 24 | 25 | "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. 26 | 27 | "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. 28 | 29 | PERMISSION & CONDITIONS 30 | Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 31 | 32 | 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 33 | 34 | 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 35 | 36 | 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 37 | 38 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 39 | 40 | 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. 41 | 42 | TERMINATION 43 | This license becomes null and void if any of the above conditions are not met. 44 | 45 | DISCLAIMER 46 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/MonoBehaviours/CameraFollow.cs: -------------------------------------------------------------------------------- 1 | /* 2 | ------------------- Code Monkey ------------------- 3 | 4 | Thank you for downloading the Code Monkey Utilities 5 | I hope you find them useful in your projects 6 | If you have any questions use the contact form 7 | Cheers! 8 | 9 | unitycodemonkey.com 10 | -------------------------------------------------- 11 | */ 12 | 13 | using System; 14 | using System.Collections.Generic; 15 | using UnityEngine; 16 | 17 | namespace CodeMonkey.MonoBehaviours { 18 | 19 | /* 20 | * Script to handle Camera Movement and Zoom 21 | * Place on Camera GameObject 22 | * */ 23 | public class CameraFollow : MonoBehaviour { 24 | 25 | public static CameraFollow Instance { get; private set; } 26 | 27 | private Camera myCamera; 28 | private Func GetCameraFollowPositionFunc; 29 | private Func GetCameraZoomFunc; 30 | 31 | public void Setup(Func GetCameraFollowPositionFunc, Func GetCameraZoomFunc, bool teleportToFollowPosition, bool instantZoom) { 32 | this.GetCameraFollowPositionFunc = GetCameraFollowPositionFunc; 33 | this.GetCameraZoomFunc = GetCameraZoomFunc; 34 | 35 | if (teleportToFollowPosition) { 36 | Vector3 cameraFollowPosition = GetCameraFollowPositionFunc(); 37 | cameraFollowPosition.z = transform.position.z; 38 | transform.position = cameraFollowPosition; 39 | } 40 | 41 | if (instantZoom) { 42 | myCamera.orthographicSize = GetCameraZoomFunc(); 43 | } 44 | } 45 | 46 | private void Awake() { 47 | Instance = this; 48 | myCamera = transform.GetComponent(); 49 | } 50 | 51 | public void SetCameraFollowPosition(Vector3 cameraFollowPosition) { 52 | SetGetCameraFollowPositionFunc(() => cameraFollowPosition); 53 | } 54 | 55 | public void SetGetCameraFollowPositionFunc(Func GetCameraFollowPositionFunc) { 56 | this.GetCameraFollowPositionFunc = GetCameraFollowPositionFunc; 57 | } 58 | 59 | public void SetCameraZoom(float cameraZoom) { 60 | SetGetCameraZoomFunc(() => cameraZoom); 61 | } 62 | 63 | public void SetGetCameraZoomFunc(Func GetCameraZoomFunc) { 64 | this.GetCameraZoomFunc = GetCameraZoomFunc; 65 | } 66 | 67 | 68 | private void Update() { 69 | HandleMovement(); 70 | HandleZoom(); 71 | } 72 | 73 | private void HandleMovement() { 74 | if (GetCameraFollowPositionFunc == null) return; 75 | Vector3 cameraFollowPosition = GetCameraFollowPositionFunc(); 76 | cameraFollowPosition.z = transform.position.z; 77 | 78 | Vector3 cameraMoveDir = (cameraFollowPosition - transform.position).normalized; 79 | float distance = Vector3.Distance(cameraFollowPosition, transform.position); 80 | float cameraMoveSpeed = 3f; 81 | 82 | if (distance > 0) { 83 | Vector3 newCameraPosition = transform.position + cameraMoveDir * distance * cameraMoveSpeed * Time.deltaTime; 84 | 85 | float distanceAfterMoving = Vector3.Distance(newCameraPosition, cameraFollowPosition); 86 | 87 | if (distanceAfterMoving > distance) { 88 | // Overshot the target 89 | newCameraPosition = cameraFollowPosition; 90 | } 91 | 92 | transform.position = newCameraPosition; 93 | } 94 | } 95 | 96 | private void HandleZoom() { 97 | if (GetCameraZoomFunc == null) return; 98 | float cameraZoom = GetCameraZoomFunc(); 99 | 100 | float cameraZoomDifference = cameraZoom - myCamera.orthographicSize; 101 | float cameraZoomSpeed = 1f; 102 | 103 | myCamera.orthographicSize += cameraZoomDifference * cameraZoomSpeed * Time.deltaTime; 104 | 105 | if (cameraZoomDifference > 0) { 106 | if (myCamera.orthographicSize > cameraZoom) { 107 | myCamera.orthographicSize = cameraZoom; 108 | } 109 | } else { 110 | if (myCamera.orthographicSize < cameraZoom) { 111 | myCamera.orthographicSize = cameraZoom; 112 | } 113 | } 114 | } 115 | } 116 | 117 | } -------------------------------------------------------------------------------- /Assets/Match3/Scripts/Grid.cs: -------------------------------------------------------------------------------- 1 | /* 2 | ------------------- Code Monkey ------------------- 3 | 4 | Thank you for downloading this package 5 | I hope you find it useful in your projects 6 | If you have any questions let me know 7 | Cheers! 8 | 9 | unitycodemonkey.com 10 | -------------------------------------------------- 11 | */ 12 | 13 | using System; 14 | using System.Collections; 15 | using System.Collections.Generic; 16 | using UnityEngine; 17 | using CodeMonkey.Utils; 18 | 19 | public class Grid { 20 | 21 | public event EventHandler OnGridObjectChanged; 22 | public class OnGridObjectChangedEventArgs : EventArgs { 23 | public int x; 24 | public int y; 25 | } 26 | 27 | private int width; 28 | private int height; 29 | private float cellSize; 30 | private Vector3 originPosition; 31 | private TGridObject[,] gridArray; 32 | 33 | public Grid(int width, int height, float cellSize, Vector3 originPosition, Func, int, int, TGridObject> createGridObject) { 34 | this.width = width; 35 | this.height = height; 36 | this.cellSize = cellSize; 37 | this.originPosition = originPosition; 38 | 39 | gridArray = new TGridObject[width, height]; 40 | 41 | for (int x = 0; x < gridArray.GetLength(0); x++) { 42 | for (int y = 0; y < gridArray.GetLength(1); y++) { 43 | gridArray[x, y] = createGridObject(this, x, y); 44 | } 45 | } 46 | 47 | bool showDebug = false; 48 | if (showDebug) { 49 | TextMesh[,] debugTextArray = new TextMesh[width, height]; 50 | 51 | for (int x = 0; x < gridArray.GetLength(0); x++) { 52 | for (int y = 0; y < gridArray.GetLength(1); y++) { 53 | debugTextArray[x, y] = UtilsClass.CreateWorldText(gridArray[x, y]?.ToString(), null, GetWorldPosition(x, y) + new Vector3(cellSize, cellSize) * .5f, 30, Color.white, TextAnchor.MiddleCenter); 54 | debugTextArray[x, y].characterSize = .1f; 55 | debugTextArray[x, y].fontSize = 30; 56 | Debug.DrawLine(GetWorldPosition(x, y), GetWorldPosition(x, y + 1), Color.white, 100f); 57 | Debug.DrawLine(GetWorldPosition(x, y), GetWorldPosition(x + 1, y), Color.white, 100f); 58 | } 59 | } 60 | Debug.DrawLine(GetWorldPosition(0, height), GetWorldPosition(width, height), Color.white, 100f); 61 | Debug.DrawLine(GetWorldPosition(width, 0), GetWorldPosition(width, height), Color.white, 100f); 62 | 63 | OnGridObjectChanged += (object sender, OnGridObjectChangedEventArgs eventArgs) => { 64 | debugTextArray[eventArgs.x, eventArgs.y].text = gridArray[eventArgs.x, eventArgs.y]?.ToString(); 65 | }; 66 | } 67 | } 68 | 69 | public int GetWidth() { 70 | return width; 71 | } 72 | 73 | public int GetHeight() { 74 | return height; 75 | } 76 | 77 | public float GetCellSize() { 78 | return cellSize; 79 | } 80 | 81 | public Vector3 GetWorldPosition(int x, int y) { 82 | return new Vector3(x, y) * cellSize + originPosition; 83 | } 84 | 85 | public void GetXY(Vector3 worldPosition, out int x, out int y) { 86 | x = Mathf.FloorToInt((worldPosition - originPosition).x / cellSize); 87 | y = Mathf.FloorToInt((worldPosition - originPosition).y / cellSize); 88 | } 89 | 90 | public void SetGridObject(int x, int y, TGridObject value) { 91 | if (x >= 0 && y >= 0 && x < width && y < height) { 92 | gridArray[x, y] = value; 93 | TriggerGridObjectChanged(x, y); 94 | } 95 | } 96 | 97 | public void TriggerGridObjectChanged(int x, int y) { 98 | OnGridObjectChanged?.Invoke(this, new OnGridObjectChangedEventArgs { x = x, y = y }); 99 | } 100 | 101 | public void SetGridObject(Vector3 worldPosition, TGridObject value) { 102 | GetXY(worldPosition, out int x, out int y); 103 | SetGridObject(x, y, value); 104 | } 105 | 106 | public TGridObject GetGridObject(int x, int y) { 107 | if (x >= 0 && y >= 0 && x < width && y < height) { 108 | return gridArray[x, y]; 109 | } else { 110 | return default(TGridObject); 111 | } 112 | } 113 | 114 | public TGridObject GetGridObject(Vector3 worldPosition) { 115 | int x, y; 116 | GetXY(worldPosition, out x, out y); 117 | return GetGridObject(x, y); 118 | } 119 | 120 | } 121 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Surface.shader: -------------------------------------------------------------------------------- 1 | Shader "TextMeshPro/Distance Field (Surface)" { 2 | 3 | Properties { 4 | _FaceTex ("Fill Texture", 2D) = "white" {} 5 | _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0 6 | _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0 7 | _FaceColor ("Fill Color", Color) = (1,1,1,1) 8 | _FaceDilate ("Face Dilate", Range(-1,1)) = 0 9 | 10 | _OutlineColor ("Outline Color", Color) = (0,0,0,1) 11 | _OutlineTex ("Outline Texture", 2D) = "white" {} 12 | _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0 13 | _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0 14 | _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 15 | _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 16 | 17 | _Bevel ("Bevel", Range(0,1)) = 0.5 18 | _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0 19 | _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0 20 | _BevelClamp ("Bevel Clamp", Range(0,1)) = 0 21 | _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0 22 | 23 | _BumpMap ("Normalmap", 2D) = "bump" {} 24 | _BumpOutline ("Bump Outline", Range(0,1)) = 0.5 25 | _BumpFace ("Bump Face", Range(0,1)) = 0.5 26 | 27 | _ReflectFaceColor ("Face Color", Color) = (0,0,0,1) 28 | _ReflectOutlineColor ("Outline Color", Color) = (0,0,0,1) 29 | _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } 30 | _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0) 31 | _SpecColor ("Specular Color", Color) = (0,0,0,1) 32 | 33 | _FaceShininess ("Face Shininess", Range(0,1)) = 0 34 | _OutlineShininess ("Outline Shininess", Range(0,1)) = 0 35 | 36 | _GlowColor ("Color", Color) = (0, 1, 0, 0.5) 37 | _GlowOffset ("Offset", Range(-1,1)) = 0 38 | _GlowInner ("Inner", Range(0,1)) = 0.05 39 | _GlowOuter ("Outer", Range(0,1)) = 0.05 40 | _GlowPower ("Falloff", Range(1, 0)) = 0.75 41 | 42 | _WeightNormal ("Weight Normal", float) = 0 43 | _WeightBold ("Weight Bold", float) = 0.5 44 | 45 | // Should not be directly exposed to the user 46 | _ShaderFlags ("Flags", float) = 0 47 | _ScaleRatioA ("Scale RatioA", float) = 1 48 | _ScaleRatioB ("Scale RatioB", float) = 1 49 | _ScaleRatioC ("Scale RatioC", float) = 1 50 | 51 | _MainTex ("Font Atlas", 2D) = "white" {} 52 | _TextureWidth ("Texture Width", float) = 512 53 | _TextureHeight ("Texture Height", float) = 512 54 | _GradientScale ("Gradient Scale", float) = 5.0 55 | _ScaleX ("Scale X", float) = 1.0 56 | _ScaleY ("Scale Y", float) = 1.0 57 | _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 58 | _Sharpness ("Sharpness", Range(-1,1)) = 0 59 | 60 | _VertexOffsetX ("Vertex OffsetX", float) = 0 61 | _VertexOffsetY ("Vertex OffsetY", float) = 0 62 | //_MaskCoord ("Mask Coords", vector) = (0,0,0,0) 63 | //_MaskSoftness ("Mask Softness", float) = 0 64 | } 65 | 66 | SubShader { 67 | 68 | Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } 69 | 70 | LOD 300 71 | Cull [_CullMode] 72 | 73 | CGPROGRAM 74 | #pragma surface PixShader BlinnPhong alpha:blend vertex:VertShader nolightmap nodirlightmap 75 | #pragma target 3.0 76 | #pragma shader_feature __ GLOW_ON 77 | #pragma glsl 78 | 79 | #include "TMPro_Properties.cginc" 80 | #include "TMPro.cginc" 81 | 82 | half _FaceShininess; 83 | half _OutlineShininess; 84 | 85 | struct Input 86 | { 87 | fixed4 color : COLOR; 88 | float2 uv_MainTex; 89 | float2 uv2_FaceTex; 90 | float2 uv2_OutlineTex; 91 | float2 param; // Weight, Scale 92 | float3 viewDirEnv; 93 | }; 94 | 95 | 96 | #define BEVEL_ON 1 97 | #include "TMPro_Surface.cginc" 98 | 99 | ENDCG 100 | 101 | // Pass to render object as a shadow caster 102 | Pass 103 | { 104 | Name "Caster" 105 | Tags { "LightMode" = "ShadowCaster" } 106 | Offset 1, 1 107 | 108 | Fog {Mode Off} 109 | ZWrite On 110 | ZTest LEqual 111 | Cull Off 112 | 113 | CGPROGRAM 114 | #pragma vertex vert 115 | #pragma fragment frag 116 | #pragma multi_compile_shadowcaster 117 | #include "UnityCG.cginc" 118 | 119 | struct v2f { 120 | V2F_SHADOW_CASTER; 121 | float2 uv : TEXCOORD1; 122 | float2 uv2 : TEXCOORD3; 123 | float alphaClip : TEXCOORD2; 124 | }; 125 | 126 | uniform float4 _MainTex_ST; 127 | uniform float4 _OutlineTex_ST; 128 | float _OutlineWidth; 129 | float _FaceDilate; 130 | float _ScaleRatioA; 131 | 132 | v2f vert( appdata_base v ) 133 | { 134 | v2f o; 135 | TRANSFER_SHADOW_CASTER(o) 136 | o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); 137 | o.uv2 = TRANSFORM_TEX(v.texcoord, _OutlineTex); 138 | o.alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _FaceDilate * _ScaleRatioA) / 2; 139 | return o; 140 | } 141 | 142 | uniform sampler2D _MainTex; 143 | 144 | float4 frag(v2f i) : COLOR 145 | { 146 | fixed4 texcol = tex2D(_MainTex, i.uv).a; 147 | clip(texcol.a - i.alphaClip); 148 | SHADOW_CASTER_FRAGMENT(i) 149 | } 150 | ENDCG 151 | } 152 | } 153 | 154 | CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" 155 | } 156 | 157 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: ab2114bdc8544297b417dfefe9f1e410, type: 3} 12 | m_Name: Default Style Sheet 13 | m_EditorClassIdentifier: 14 | m_StyleList: 15 | - m_Name: H1 16 | m_HashCode: 2425 17 | m_OpeningDefinition: <#40ff80>* 18 | m_ClosingDefinition: '*' 19 | m_OpeningTagArray: 3c00000073000000690000007a000000650000003d00000032000000650000006d0000003e0000003c000000620000003e0000003c000000230000003400000030000000660000006600000038000000300000003e0000002a000000 20 | m_ClosingTagArray: 2a0000003c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e000000 21 | - m_Name: Quote 22 | m_HashCode: 92254330 23 | m_OpeningDefinition: 24 | m_ClosingDefinition: 25 | m_OpeningTagArray: 3c000000690000003e0000003c00000073000000690000007a000000650000003d0000003700000035000000250000003e0000003c0000006d000000610000007200000067000000690000006e0000003d0000003100000030000000250000003e000000 26 | m_ClosingTagArray: 3c0000002f000000690000003e0000003c0000002f00000073000000690000007a000000650000003e0000003c0000002f00000077000000690000006400000074000000680000003e0000003c0000002f0000006d000000610000007200000067000000690000006e0000003e000000 27 | - m_Name: Link 28 | m_HashCode: 2687968 29 | m_OpeningDefinition: <#40a0ff> 30 | m_ClosingDefinition: 31 | m_OpeningTagArray: 3c000000750000003e0000003c000000230000003400000030000000610000003000000066000000660000003e0000003c0000006c000000690000006e0000006b0000003d0000002200000049000000440000005f0000003000000031000000220000003e000000 32 | m_ClosingTagArray: 3c0000002f000000750000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e0000003c0000002f0000006c000000690000006e0000006b0000003e000000 33 | - m_Name: Title 34 | m_HashCode: 98732960 35 | m_OpeningDefinition: 36 | m_ClosingDefinition: 37 | m_OpeningTagArray: 3c00000073000000690000007a000000650000003d000000310000003200000035000000250000003e0000003c000000620000003e0000003c000000610000006c00000069000000670000006e0000003d00000063000000650000006e0000007400000065000000720000003e000000 38 | m_ClosingTagArray: 3c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000610000006c00000069000000670000006e0000003e000000 39 | - m_Name: H2 40 | m_HashCode: 2426 41 | m_OpeningDefinition: <#4080FF> 42 | m_ClosingDefinition: 43 | m_OpeningTagArray: 3c00000073000000690000007a000000650000003d000000310000002e00000035000000650000006d0000003e0000003c000000620000003e0000003c000000230000003400000030000000380000003000000046000000460000003e000000 44 | m_ClosingTagArray: 3c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e000000 45 | - m_Name: H3 46 | m_HashCode: 2427 47 | m_OpeningDefinition: <#FF8040> 48 | m_ClosingDefinition: 49 | m_OpeningTagArray: 3c00000073000000690000007a000000650000003d000000310000002e0000003100000037000000650000006d0000003e0000003c000000620000003e0000003c000000230000004600000046000000380000003000000034000000300000003e000000 50 | m_ClosingTagArray: 3c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e000000 51 | - m_Name: C1 52 | m_HashCode: 2194 53 | m_OpeningDefinition: 54 | m_ClosingDefinition: 55 | m_OpeningTagArray: 3c000000630000006f0000006c0000006f000000720000003d000000230000006600000066000000660000006600000034000000300000003e000000 56 | m_ClosingTagArray: 3c0000002f000000630000006f0000006c0000006f000000720000003e000000 57 | - m_Name: C2 58 | m_HashCode: 2193 59 | m_OpeningDefinition: 60 | m_ClosingDefinition: 61 | m_OpeningTagArray: 3c000000630000006f0000006c0000006f000000720000003d000000230000006600000066000000340000003000000046000000460000003e0000003c00000073000000690000007a000000650000003d000000310000003200000035000000250000003e000000 62 | m_ClosingTagArray: 3c0000002f000000630000006f0000006c0000006f000000720000003e0000003c0000002f00000073000000690000007a000000650000003e000000 63 | - m_Name: C3 64 | m_HashCode: 2192 65 | m_OpeningDefinition: 66 | m_ClosingDefinition: 67 | m_OpeningTagArray: 3c000000630000006f0000006c0000006f000000720000003d000000230000003800000030000000410000003000000046000000460000003e0000003c000000620000003e000000 68 | m_ClosingTagArray: 3c0000002f000000630000006f0000006c0000006f000000720000003e0000003c0000002f000000620000003e000000 69 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/UI_Sprite.cs: -------------------------------------------------------------------------------- 1 | /* 2 | ------------------- Code Monkey ------------------- 3 | 4 | Thank you for downloading the Code Monkey Utilities 5 | I hope you find them useful in your projects 6 | If you have any questions use the contact form 7 | Cheers! 8 | 9 | unitycodemonkey.com 10 | -------------------------------------------------- 11 | */ 12 | 13 | using System; 14 | using UnityEngine; 15 | using UnityEngine.UI; 16 | 17 | namespace CodeMonkey.Utils { 18 | 19 | /* 20 | * Sprite in the UI 21 | * */ 22 | public class UI_Sprite { 23 | 24 | private static Transform GetCanvasTransform() { 25 | return UtilsClass.GetCanvasTransform(); 26 | } 27 | 28 | public static UI_Sprite CreateDebugButton(Vector2 anchoredPosition, Vector2 size, Action ClickFunc) { 29 | return CreateDebugButton(anchoredPosition, size, ClickFunc, Color.green); 30 | } 31 | public static UI_Sprite CreateDebugButton(Vector2 anchoredPosition, Vector2 size, Action ClickFunc, Color color) { 32 | UI_Sprite uiSprite = new UI_Sprite(GetCanvasTransform(), Assets.i.s_White, anchoredPosition, size, color); 33 | uiSprite.AddButton(ClickFunc, null, null); 34 | return uiSprite; 35 | } 36 | public static UI_Sprite CreateDebugButton(Vector2 anchoredPosition, string text, Action ClickFunc) { 37 | return CreateDebugButton(anchoredPosition, text, ClickFunc, Color.green); 38 | } 39 | public static UI_Sprite CreateDebugButton(Vector2 anchoredPosition, string text, Action ClickFunc, Color color) { 40 | return CreateDebugButton(anchoredPosition, text, ClickFunc, color, new Vector2(30, 20)); 41 | } 42 | public static UI_Sprite CreateDebugButton(Vector2 anchoredPosition, string text, Action ClickFunc, Color color, Vector2 padding) { 43 | UI_TextComplex uiTextComplex; 44 | UI_Sprite uiSprite = CreateDebugButton(anchoredPosition, Vector2.zero, ClickFunc, color, text, out uiTextComplex); 45 | uiSprite.SetSize(new Vector2(uiTextComplex.GetTotalWidth(), uiTextComplex.GetTotalHeight()) + padding); 46 | return uiSprite; 47 | } 48 | public static UI_Sprite CreateDebugButton(Vector2 anchoredPosition, Vector2 size, Action ClickFunc, Color color, string text) { 49 | UI_TextComplex uiTextComplex; 50 | return CreateDebugButton(anchoredPosition, size, ClickFunc, color, text, out uiTextComplex); 51 | } 52 | public static UI_Sprite CreateDebugButton(Vector2 anchoredPosition, Vector2 size, Action ClickFunc, Color color, string text, out UI_TextComplex uiTextComplex) { 53 | if (color.r >= 1f) color.r = .9f; 54 | if (color.g >= 1f) color.g = .9f; 55 | if (color.b >= 1f) color.b = .9f; 56 | Color colorOver = color * 1.1f; // button over color lighter 57 | UI_Sprite uiSprite = new UI_Sprite(GetCanvasTransform(), Assets.i.s_White, anchoredPosition, size, color); 58 | uiSprite.AddButton(ClickFunc, () => uiSprite.SetColor(colorOver), () => uiSprite.SetColor(color)); 59 | uiTextComplex = new UI_TextComplex(uiSprite.gameObject.transform, Vector2.zero, 12, '#', text, null, null); 60 | uiTextComplex.SetTextColor(Color.black); 61 | uiTextComplex.SetAnchorMiddle(); 62 | uiTextComplex.CenterOnPosition(Vector2.zero); 63 | return uiSprite; 64 | } 65 | 66 | 67 | 68 | public GameObject gameObject; 69 | public Image image; 70 | public RectTransform rectTransform; 71 | 72 | 73 | public UI_Sprite(Transform parent, Sprite sprite, Vector2 anchoredPosition, Vector2 size, Color color) { 74 | rectTransform = UtilsClass.DrawSprite(sprite, parent, anchoredPosition, size, "UI_Sprite"); 75 | gameObject = rectTransform.gameObject; 76 | image = gameObject.GetComponent(); 77 | image.color = color; 78 | } 79 | public void SetColor(Color color) { 80 | image.color = color; 81 | } 82 | public void SetSprite(Sprite sprite) { 83 | image.sprite = sprite; 84 | } 85 | public void SetSize(Vector2 size) { 86 | rectTransform.sizeDelta = size; 87 | } 88 | public void SetAnchoredPosition(Vector2 anchoredPosition) { 89 | rectTransform.anchoredPosition = anchoredPosition; 90 | } 91 | public Button_UI AddButton(Action ClickFunc, Action MouseOverOnceFunc, Action MouseOutOnceFunc) { 92 | Button_UI buttonUI = gameObject.AddComponent(); 93 | if (ClickFunc != null) 94 | buttonUI.ClickFunc = ClickFunc; 95 | if (MouseOverOnceFunc != null) 96 | buttonUI.MouseOverOnceFunc = MouseOverOnceFunc; 97 | if (MouseOutOnceFunc != null) 98 | buttonUI.MouseOutOnceFunc = MouseOutOnceFunc; 99 | return buttonUI; 100 | } 101 | public void DestroySelf() { 102 | UnityEngine.Object.Destroy(gameObject); 103 | } 104 | 105 | } 106 | } -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/World_Bar.cs: -------------------------------------------------------------------------------- 1 | /* 2 | ------------------- Code Monkey ------------------- 3 | 4 | Thank you for downloading the Code Monkey Utilities 5 | I hope you find them useful in your projects 6 | If you have any questions use the contact form 7 | Cheers! 8 | 9 | unitycodemonkey.com 10 | -------------------------------------------------- 11 | */ 12 | 13 | using UnityEngine; 14 | 15 | namespace CodeMonkey.Utils { 16 | 17 | /* 18 | * Bar in the World, great for quickly making a health bar 19 | * */ 20 | public class World_Bar { 21 | 22 | private Outline outline; 23 | private GameObject gameObject; 24 | private Transform transform; 25 | private Transform background; 26 | private Transform bar; 27 | 28 | public static int GetSortingOrder(Vector3 position, int offset, int baseSortingOrder = 5000) { 29 | return (int)(baseSortingOrder - position.y) + offset; 30 | } 31 | 32 | public class Outline { 33 | public float size = 1f; 34 | public Color color = Color.black; 35 | } 36 | 37 | public World_Bar(Transform parent, Vector3 localPosition, Vector3 localScale, Color? backgroundColor, Color barColor, float sizeRatio, int sortingOrder, Outline outline = null) { 38 | this.outline = outline; 39 | SetupParent(parent, localPosition); 40 | if (outline != null) SetupOutline(outline, localScale, sortingOrder - 1); 41 | if (backgroundColor != null) SetupBackground((Color)backgroundColor, localScale, sortingOrder); 42 | SetupBar(barColor, localScale, sortingOrder + 1); 43 | SetSize(sizeRatio); 44 | } 45 | private void SetupParent(Transform parent, Vector3 localPosition) { 46 | gameObject = new GameObject("World_Bar"); 47 | transform = gameObject.transform; 48 | transform.SetParent(parent); 49 | transform.localPosition = localPosition; 50 | } 51 | private void SetupOutline(Outline outline, Vector3 localScale, int sortingOrder) { 52 | UtilsClass.CreateWorldSprite(transform, "Outline", Assets.i.s_White, new Vector3(0,0), localScale + new Vector3(outline.size, outline.size), sortingOrder, outline.color); 53 | } 54 | private void SetupBackground(Color backgroundColor, Vector3 localScale, int sortingOrder) { 55 | background = UtilsClass.CreateWorldSprite(transform, "Background", Assets.i.s_White, new Vector3(0,0), localScale, sortingOrder, backgroundColor).transform; 56 | } 57 | private void SetupBar(Color barColor, Vector3 localScale, int sortingOrder) { 58 | GameObject barGO = new GameObject("Bar"); 59 | bar = barGO.transform; 60 | bar.SetParent(transform); 61 | bar.localPosition = new Vector3(-localScale.x / 2f, 0, 0); 62 | bar.localScale = new Vector3(1,1,1); 63 | Transform barIn = UtilsClass.CreateWorldSprite(bar, "BarIn", Assets.i.s_White, new Vector3(localScale.x / 2f, 0), localScale, sortingOrder, barColor).transform; 64 | } 65 | public void SetRotation(float rotation) { 66 | transform.localEulerAngles = new Vector3(0, 0, rotation); 67 | } 68 | public void SetSize(float sizeRatio) { 69 | bar.localScale = new Vector3(sizeRatio, 1, 1); 70 | } 71 | public void SetLocalScale(Vector3 localScale) { 72 | // Outline 73 | if (transform.Find("Outline") != null) { 74 | // Has outline 75 | transform.Find("Outline").localScale = localScale + new Vector3(outline.size, outline.size); 76 | } 77 | 78 | //Background 79 | background.localScale = localScale; 80 | 81 | // Set Bar Scale 82 | bar.localPosition = new Vector3(-localScale.x / 2f, 0, 0); 83 | Transform barIn = bar.Find("BarIn"); 84 | barIn.localScale = localScale; 85 | barIn.localPosition = new Vector3(localScale.x / 2f, 0); 86 | } 87 | public void SetColor(Color color) { 88 | bar.Find("BarIn").GetComponent().color = color; 89 | } 90 | public void Show() { 91 | gameObject.SetActive(true); 92 | } 93 | public void Hide() { 94 | gameObject.SetActive(false); 95 | } 96 | public Button_Sprite AddButton(System.Action ClickFunc, System.Action MouseOverOnceFunc, System.Action MouseOutOnceFunc) { 97 | Button_Sprite buttonSprite = gameObject.AddComponent(); 98 | if (ClickFunc != null) 99 | buttonSprite.ClickFunc = ClickFunc; 100 | if (MouseOverOnceFunc != null) 101 | buttonSprite.MouseOverOnceFunc = MouseOverOnceFunc; 102 | if (MouseOutOnceFunc != null) 103 | buttonSprite.MouseOutOnceFunc = MouseOutOnceFunc; 104 | return buttonSprite; 105 | } 106 | public void DestroySelf() { 107 | if (gameObject != null) { 108 | Object.Destroy(gameObject); 109 | } 110 | } 111 | 112 | } 113 | 114 | } 115 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/FunctionUpdater.cs: -------------------------------------------------------------------------------- 1 | /* 2 | ------------------- Code Monkey ------------------- 3 | 4 | Thank you for downloading the Code Monkey Utilities 5 | I hope you find them useful in your projects 6 | If you have any questions use the contact form 7 | Cheers! 8 | 9 | unitycodemonkey.com 10 | -------------------------------------------------- 11 | */ 12 | 13 | using System; 14 | using UnityEngine; 15 | using System.Collections.Generic; 16 | 17 | namespace CodeMonkey.Utils { 18 | 19 | /* 20 | * Calls function on every Update until it returns true 21 | * */ 22 | public class FunctionUpdater { 23 | 24 | /* 25 | * Class to hook Actions into MonoBehaviour 26 | * */ 27 | private class MonoBehaviourHook : MonoBehaviour { 28 | 29 | public Action OnUpdate; 30 | 31 | private void Update() { 32 | if (OnUpdate != null) OnUpdate(); 33 | } 34 | 35 | } 36 | 37 | private static List updaterList; // Holds a reference to all active updaters 38 | private static GameObject initGameObject; // Global game object used for initializing class, is destroyed on scene change 39 | 40 | private static void InitIfNeeded() { 41 | if (initGameObject == null) { 42 | initGameObject = new GameObject("FunctionUpdater_Global"); 43 | updaterList = new List(); 44 | } 45 | } 46 | 47 | 48 | 49 | 50 | public static FunctionUpdater Create(Action updateFunc) { 51 | return Create(() => { updateFunc(); return false; }, "", true, false); 52 | } 53 | public static FunctionUpdater Create(Func updateFunc) { 54 | return Create(updateFunc, "", true, false); 55 | } 56 | public static FunctionUpdater Create(Func updateFunc, string functionName) { 57 | return Create(updateFunc, functionName, true, false); 58 | } 59 | public static FunctionUpdater Create(Func updateFunc, string functionName, bool active) { 60 | return Create(updateFunc, functionName, active, false); 61 | } 62 | public static FunctionUpdater Create(Func updateFunc, string functionName, bool active, bool stopAllWithSameName) { 63 | InitIfNeeded(); 64 | 65 | if (stopAllWithSameName) { 66 | StopAllUpdatersWithName(functionName); 67 | } 68 | 69 | GameObject gameObject = new GameObject("FunctionUpdater Object " + functionName, typeof(MonoBehaviourHook)); 70 | FunctionUpdater functionUpdater = new FunctionUpdater(gameObject, updateFunc, functionName, active); 71 | gameObject.GetComponent().OnUpdate = functionUpdater.Update; 72 | 73 | updaterList.Add(functionUpdater); 74 | return functionUpdater; 75 | } 76 | private static void RemoveUpdater(FunctionUpdater funcUpdater) { 77 | InitIfNeeded(); 78 | updaterList.Remove(funcUpdater); 79 | } 80 | public static void DestroyUpdater(FunctionUpdater funcUpdater) { 81 | InitIfNeeded(); 82 | if (funcUpdater != null) { 83 | funcUpdater.DestroySelf(); 84 | } 85 | } 86 | public static void StopUpdaterWithName(string functionName) { 87 | InitIfNeeded(); 88 | for (int i = 0; i < updaterList.Count; i++) { 89 | if (updaterList[i].functionName == functionName) { 90 | updaterList[i].DestroySelf(); 91 | return; 92 | } 93 | } 94 | } 95 | public static void StopAllUpdatersWithName(string functionName) { 96 | InitIfNeeded(); 97 | for (int i = 0; i < updaterList.Count; i++) { 98 | if (updaterList[i].functionName == functionName) { 99 | updaterList[i].DestroySelf(); 100 | i--; 101 | } 102 | } 103 | } 104 | 105 | 106 | 107 | 108 | 109 | private GameObject gameObject; 110 | private string functionName; 111 | private bool active; 112 | private Func updateFunc; // Destroy Updater if return true; 113 | 114 | public FunctionUpdater(GameObject gameObject, Func updateFunc, string functionName, bool active) { 115 | this.gameObject = gameObject; 116 | this.updateFunc = updateFunc; 117 | this.functionName = functionName; 118 | this.active = active; 119 | } 120 | public void Pause() { 121 | active = false; 122 | } 123 | public void Resume() { 124 | active = true; 125 | } 126 | 127 | private void Update() { 128 | if (!active) return; 129 | if (updateFunc()) { 130 | DestroySelf(); 131 | } 132 | } 133 | public void DestroySelf() { 134 | RemoveUpdater(this); 135 | if (gameObject != null) { 136 | UnityEngine.Object.Destroy(gameObject); 137 | } 138 | } 139 | } 140 | } -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/UI_Bar.cs: -------------------------------------------------------------------------------- 1 | /* 2 | ------------------- Code Monkey ------------------- 3 | 4 | Thank you for downloading the Code Monkey Utilities 5 | I hope you find them useful in your projects 6 | If you have any questions use the contact form 7 | Cheers! 8 | 9 | unitycodemonkey.com 10 | -------------------------------------------------- 11 | */ 12 | 13 | using System; 14 | using UnityEngine; 15 | using UnityEngine.UI; 16 | 17 | namespace CodeMonkey.Utils { 18 | 19 | /* 20 | * Bar in the UI with scaleable Bar and Background 21 | * */ 22 | public class UI_Bar { 23 | 24 | public GameObject gameObject; 25 | private RectTransform rectTransform; 26 | private RectTransform background; 27 | private RectTransform bar; 28 | private Vector2 size; 29 | 30 | /* 31 | * Outline into for Bar 32 | * */ 33 | public class Outline { 34 | public float size = 1f; 35 | public Color color = Color.black; 36 | public Outline(float size, Color color) { 37 | this.size = size; 38 | this.color = color; 39 | } 40 | } 41 | 42 | public UI_Bar(Transform parent, Vector2 anchoredPosition, Vector2 size, Color barColor, float sizeRatio) { 43 | SetupParent(parent, anchoredPosition, size); 44 | SetupBar(barColor); 45 | SetSize(sizeRatio); 46 | } 47 | public UI_Bar(Transform parent, Vector2 anchoredPosition, Vector2 size, Color barColor, float sizeRatio, Outline outline) { 48 | SetupParent(parent, anchoredPosition, size); 49 | if (outline != null) SetupOutline(outline, size); 50 | SetupBar(barColor); 51 | SetSize(sizeRatio); 52 | } 53 | public UI_Bar(Transform parent, Vector2 anchoredPosition, Vector2 size, Color backgroundColor, Color barColor, float sizeRatio) { 54 | SetupParent(parent, anchoredPosition, size); 55 | SetupBackground(backgroundColor); 56 | SetupBar(barColor); 57 | SetSize(sizeRatio); 58 | } 59 | public UI_Bar(Transform parent, Vector2 anchoredPosition, Vector2 size, Color backgroundColor, Color barColor, float sizeRatio, Outline outline) { 60 | SetupParent(parent, anchoredPosition, size); 61 | if (outline != null) SetupOutline(outline, size); 62 | SetupBackground(backgroundColor); 63 | SetupBar(barColor); 64 | SetSize(sizeRatio); 65 | } 66 | private void SetupParent(Transform parent, Vector2 anchoredPosition, Vector2 size) { 67 | this.size = size; 68 | gameObject = new GameObject("UI_Bar", typeof(RectTransform)); 69 | rectTransform = gameObject.GetComponent(); 70 | rectTransform.SetParent(parent, false); 71 | rectTransform.sizeDelta = size; 72 | rectTransform.anchorMin = new Vector2(0, .5f); 73 | rectTransform.anchorMax = new Vector2(0, .5f); 74 | rectTransform.pivot = new Vector2(0, .5f); 75 | rectTransform.anchoredPosition = anchoredPosition; 76 | } 77 | private RectTransform SetupOutline(Outline outline, Vector2 size) { 78 | return UtilsClass.DrawSprite(outline.color, gameObject.transform, Vector2.zero, size + new Vector2(outline.size, outline.size), "Outline"); 79 | } 80 | private void SetupBackground(Color backgroundColor) { 81 | background = UtilsClass.DrawSprite(backgroundColor, gameObject.transform, Vector2.zero, Vector2.zero, "Background"); 82 | background.anchorMin = new Vector2(0,0); 83 | background.anchorMax = new Vector2(1,1); 84 | } 85 | private void SetupBar(Color barColor) { 86 | bar = UtilsClass.DrawSprite(barColor, gameObject.transform, Vector2.zero, Vector2.zero, "Bar"); 87 | bar.anchorMin = new Vector2(0,0); 88 | bar.anchorMax = new Vector2(0,1f); 89 | bar.pivot = new Vector2(0,.5f); 90 | } 91 | public void SetSize(float sizeRatio) { 92 | bar.sizeDelta = new Vector2(sizeRatio * size.x, 0); 93 | } 94 | public void SetColor(Color color) { 95 | bar.GetComponent().color = color; 96 | } 97 | public void SetActive(bool active) { 98 | gameObject.SetActive(active); 99 | } 100 | public void AddOutline(Outline outline) { 101 | RectTransform outlineRectTransform = SetupOutline(outline, size); 102 | outlineRectTransform.transform.SetAsFirstSibling(); 103 | } 104 | public void SetRaycastTarget(bool set) { 105 | foreach (Transform trans in gameObject.transform) { 106 | if (trans.GetComponent() != null) { 107 | trans.GetComponent().raycastTarget = set; 108 | } 109 | } 110 | } 111 | public void DestroySelf() { 112 | UnityEngine.Object.Destroy(gameObject); 113 | } 114 | public Button_UI AddButton() { 115 | return AddButton(null, null, null); 116 | } 117 | public Button_UI AddButton(Action ClickFunc, Action MouseOverOnceFunc, Action MouseOutOnceFunc) { 118 | Button_UI buttonUI = gameObject.AddComponent(); 119 | if (ClickFunc != null) 120 | buttonUI.ClickFunc = ClickFunc; 121 | if (MouseOverOnceFunc != null) 122 | buttonUI.MouseOverOnceFunc = MouseOverOnceFunc; 123 | if (MouseOutOnceFunc != null) 124 | buttonUI.MouseOutOnceFunc = MouseOutOnceFunc; 125 | return buttonUI; 126 | } 127 | 128 | } 129 | 130 | 131 | } 132 | -------------------------------------------------------------------------------- /Assets/Match3/CodeMonkey/Utils/FunctionTimer.cs: -------------------------------------------------------------------------------- 1 | /* 2 | ------------------- Code Monkey ------------------- 3 | 4 | Thank you for downloading the Code Monkey Utilities 5 | I hope you find them useful in your projects 6 | If you have any questions use the contact form 7 | Cheers! 8 | 9 | unitycodemonkey.com 10 | -------------------------------------------------- 11 | */ 12 | 13 | using System; 14 | using UnityEngine; 15 | using System.Collections.Generic; 16 | 17 | namespace CodeMonkey.Utils { 18 | 19 | /* 20 | * Triggers a Action after a certain time 21 | * */ 22 | public class FunctionTimer { 23 | 24 | /* 25 | * Class to hook Actions into MonoBehaviour 26 | * */ 27 | private class MonoBehaviourHook : MonoBehaviour { 28 | 29 | public Action OnUpdate; 30 | 31 | private void Update() { 32 | if (OnUpdate != null) OnUpdate(); 33 | } 34 | 35 | } 36 | 37 | 38 | private static List timerList; // Holds a reference to all active timers 39 | private static GameObject initGameObject; // Global game object used for initializing class, is destroyed on scene change 40 | 41 | private static void InitIfNeeded() { 42 | if (initGameObject == null) { 43 | initGameObject = new GameObject("FunctionTimer_Global"); 44 | timerList = new List(); 45 | } 46 | } 47 | 48 | 49 | 50 | 51 | public static FunctionTimer Create(Action action, float timer) { 52 | return Create(action, timer, "", false, false); 53 | } 54 | public static FunctionTimer Create(Action action, float timer, string functionName) { 55 | return Create(action, timer, functionName, false, false); 56 | } 57 | public static FunctionTimer Create(Action action, float timer, string functionName, bool useUnscaledDeltaTime) { 58 | return Create(action, timer, functionName, useUnscaledDeltaTime, false); 59 | } 60 | public static FunctionTimer Create(Action action, float timer, string functionName, bool useUnscaledDeltaTime, bool stopAllWithSameName) { 61 | InitIfNeeded(); 62 | 63 | if (stopAllWithSameName) { 64 | StopAllTimersWithName(functionName); 65 | } 66 | 67 | GameObject obj = new GameObject("FunctionTimer Object "+functionName, typeof(MonoBehaviourHook)); 68 | FunctionTimer funcTimer = new FunctionTimer(obj, action, timer, functionName, useUnscaledDeltaTime); 69 | obj.GetComponent().OnUpdate = funcTimer.Update; 70 | 71 | timerList.Add(funcTimer); 72 | 73 | return funcTimer; 74 | } 75 | public static void RemoveTimer(FunctionTimer funcTimer) { 76 | InitIfNeeded(); 77 | timerList.Remove(funcTimer); 78 | } 79 | public static void StopAllTimersWithName(string functionName) { 80 | InitIfNeeded(); 81 | for (int i = 0; i < timerList.Count; i++) { 82 | if (timerList[i].functionName == functionName) { 83 | timerList[i].DestroySelf(); 84 | i--; 85 | } 86 | } 87 | } 88 | public static void StopFirstTimerWithName(string functionName) { 89 | InitIfNeeded(); 90 | for (int i = 0; i < timerList.Count; i++) { 91 | if (timerList[i].functionName == functionName) { 92 | timerList[i].DestroySelf(); 93 | return; 94 | } 95 | } 96 | } 97 | 98 | 99 | 100 | 101 | 102 | private GameObject gameObject; 103 | private float timer; 104 | private string functionName; 105 | private bool active; 106 | private bool useUnscaledDeltaTime; 107 | private Action action; 108 | 109 | 110 | 111 | public FunctionTimer(GameObject gameObject, Action action, float timer, string functionName, bool useUnscaledDeltaTime) { 112 | this.gameObject = gameObject; 113 | this.action = action; 114 | this.timer = timer; 115 | this.functionName = functionName; 116 | this.useUnscaledDeltaTime = useUnscaledDeltaTime; 117 | } 118 | 119 | private void Update() { 120 | if (useUnscaledDeltaTime) { 121 | timer -= Time.unscaledDeltaTime; 122 | } else { 123 | timer -= Time.deltaTime; 124 | } 125 | if (timer <= 0) { 126 | // Timer complete, trigger Action 127 | action(); 128 | DestroySelf(); 129 | } 130 | } 131 | private void DestroySelf() { 132 | RemoveTimer(this); 133 | if (gameObject != null) { 134 | UnityEngine.Object.Destroy(gameObject); 135 | } 136 | } 137 | 138 | 139 | 140 | 141 | /* 142 | * Class to trigger Actions manually without creating a GameObject 143 | * */ 144 | public class FunctionTimerObject { 145 | 146 | private float timer; 147 | private Action callback; 148 | 149 | public FunctionTimerObject(Action callback, float timer) { 150 | this.callback = callback; 151 | this.timer = timer; 152 | } 153 | 154 | public void Update() { 155 | Update(Time.deltaTime); 156 | } 157 | public void Update(float deltaTime) { 158 | timer -= deltaTime; 159 | if (timer <= 0) { 160 | callback(); 161 | } 162 | } 163 | } 164 | 165 | // Create a Object that must be manually updated through Update(); 166 | public static FunctionTimerObject CreateObject(Action callback, float timer) { 167 | return new FunctionTimerObject(callback, timer); 168 | } 169 | } 170 | } -------------------------------------------------------------------------------- /Assets/Match3/Textures/Glass.psd.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 182327f6a8413314c8578a0a283b4d6f 3 | TextureImporter: 4 | internalIDToNameTable: 5 | - first: 6 | 213: -4177220209166712611 7 | second: Gems_0 8 | - first: 9 | 213: 2801231552284419624 10 | second: Gems_1 11 | - first: 12 | 213: -3690084496328417868 13 | second: Gems_2 14 | - first: 15 | 213: -4825632588510966998 16 | second: Gems_3 17 | - first: 18 | 213: 5240876717558335826 19 | second: Gems_4 20 | externalObjects: {} 21 | serializedVersion: 11 22 | mipmaps: 23 | mipMapMode: 0 24 | enableMipMap: 1 25 | sRGBTexture: 1 26 | linearTexture: 0 27 | fadeOut: 0 28 | borderMipMap: 0 29 | mipMapsPreserveCoverage: 0 30 | alphaTestReferenceValue: 0.5 31 | mipMapFadeDistanceStart: 1 32 | mipMapFadeDistanceEnd: 3 33 | bumpmap: 34 | convertToNormalMap: 0 35 | externalNormalMap: 0 36 | heightScale: 0.25 37 | normalMapFilter: 0 38 | isReadable: 0 39 | streamingMipmaps: 0 40 | streamingMipmapsPriority: 0 41 | grayScaleToAlpha: 0 42 | generateCubemap: 6 43 | cubemapConvolution: 0 44 | seamlessCubemap: 0 45 | textureFormat: 1 46 | maxTextureSize: 2048 47 | textureSettings: 48 | serializedVersion: 2 49 | filterMode: -1 50 | aniso: -1 51 | mipBias: -100 52 | wrapU: 1 53 | wrapV: 1 54 | wrapW: 1 55 | nPOTScale: 0 56 | lightmap: 0 57 | compressionQuality: 50 58 | spriteMode: 1 59 | spriteExtrude: 0 60 | spriteMeshType: 1 61 | alignment: 0 62 | spritePivot: {x: 0.5, y: 0.5} 63 | spritePixelsToUnits: 512 64 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 65 | spriteGenerateFallbackPhysicsShape: 1 66 | alphaUsage: 1 67 | alphaIsTransparency: 1 68 | spriteTessellationDetail: -1 69 | textureType: 8 70 | textureShape: 1 71 | singleChannelComponent: 0 72 | maxTextureSizeSet: 0 73 | compressionQualitySet: 0 74 | textureFormatSet: 0 75 | applyGammaDecoding: 0 76 | platformSettings: 77 | - serializedVersion: 3 78 | buildTarget: DefaultTexturePlatform 79 | maxTextureSize: 2048 80 | resizeAlgorithm: 0 81 | textureFormat: -1 82 | textureCompression: 1 83 | compressionQuality: 50 84 | crunchedCompression: 0 85 | allowsAlphaSplitting: 0 86 | overridden: 0 87 | androidETC2FallbackOverride: 0 88 | forceMaximumCompressionQuality_BC6H_BC7: 0 89 | - serializedVersion: 3 90 | buildTarget: Standalone 91 | maxTextureSize: 2048 92 | resizeAlgorithm: 0 93 | textureFormat: -1 94 | textureCompression: 1 95 | compressionQuality: 50 96 | crunchedCompression: 0 97 | allowsAlphaSplitting: 0 98 | overridden: 0 99 | androidETC2FallbackOverride: 0 100 | forceMaximumCompressionQuality_BC6H_BC7: 0 101 | spriteSheet: 102 | serializedVersion: 2 103 | sprites: 104 | - serializedVersion: 2 105 | name: Gems_0 106 | rect: 107 | serializedVersion: 2 108 | x: 0 109 | y: 512 110 | width: 512 111 | height: 512 112 | alignment: 0 113 | pivot: {x: 0.5, y: 0.5} 114 | border: {x: 0, y: 0, z: 0, w: 0} 115 | outline: [] 116 | physicsShape: [] 117 | tessellationDetail: 0 118 | bones: [] 119 | spriteID: dd009040a588706c0800000000000000 120 | internalID: -4177220209166712611 121 | vertices: [] 122 | indices: 123 | edges: [] 124 | weights: [] 125 | - serializedVersion: 2 126 | name: Gems_1 127 | rect: 128 | serializedVersion: 2 129 | x: 512 130 | y: 512 131 | width: 512 132 | height: 512 133 | alignment: 0 134 | pivot: {x: 0.5, y: 0.5} 135 | border: {x: 0, y: 0, z: 0, w: 0} 136 | outline: [] 137 | physicsShape: [] 138 | tessellationDetail: 0 139 | bones: [] 140 | spriteID: 82667875149ffd620800000000000000 141 | internalID: 2801231552284419624 142 | vertices: [] 143 | indices: 144 | edges: [] 145 | weights: [] 146 | - serializedVersion: 2 147 | name: Gems_2 148 | rect: 149 | serializedVersion: 2 150 | x: 0 151 | y: 0 152 | width: 512 153 | height: 512 154 | alignment: 0 155 | pivot: {x: 0.5, y: 0.5} 156 | border: {x: 0, y: 0, z: 0, w: 0} 157 | outline: [] 158 | physicsShape: [] 159 | tessellationDetail: 0 160 | bones: [] 161 | spriteID: 4bd1b2593bf2accc0800000000000000 162 | internalID: -3690084496328417868 163 | vertices: [] 164 | indices: 165 | edges: [] 166 | weights: [] 167 | - serializedVersion: 2 168 | name: Gems_3 169 | rect: 170 | serializedVersion: 2 171 | x: 512 172 | y: 0 173 | width: 512 174 | height: 512 175 | alignment: 0 176 | pivot: {x: 0.5, y: 0.5} 177 | border: {x: 0, y: 0, z: 0, w: 0} 178 | outline: [] 179 | physicsShape: [] 180 | tessellationDetail: 0 181 | bones: [] 182 | spriteID: a2b41416ab8e70db0800000000000000 183 | internalID: -4825632588510966998 184 | vertices: [] 185 | indices: 186 | edges: [] 187 | weights: [] 188 | - serializedVersion: 2 189 | name: Gems_4 190 | rect: 191 | serializedVersion: 2 192 | x: 1024 193 | y: 512 194 | width: 512 195 | height: 512 196 | alignment: 0 197 | pivot: {x: 0.5, y: 0.5} 198 | border: {x: 0, y: 0, z: 0, w: 0} 199 | outline: [] 200 | physicsShape: [] 201 | tessellationDetail: 0 202 | bones: [] 203 | spriteID: 2590ea57b955bb840800000000000000 204 | internalID: 5240876717558335826 205 | vertices: [] 206 | indices: 207 | edges: [] 208 | weights: [] 209 | outline: [] 210 | physicsShape: [] 211 | bones: [] 212 | spriteID: 5e97eb03825dee720800000000000000 213 | internalID: 0 214 | vertices: [] 215 | indices: 216 | edges: [] 217 | weights: [] 218 | secondaryTextures: [] 219 | spritePackingTag: 220 | pSDRemoveMatte: 1 221 | pSDShowRemoveMatteOption: 1 222 | userData: 223 | assetBundleName: 224 | assetBundleVariant: 225 | --------------------------------------------------------------------------------