├── ProjectSettings ├── ProjectVersion.txt ├── VFXManager.asset ├── PresetManager.asset ├── ClusterInputManager.asset ├── NetworkManager.asset ├── TimeManager.asset ├── EditorBuildSettings.asset ├── AudioManager.asset ├── EditorSettings.asset ├── TagManager.asset ├── DynamicsManager.asset ├── UnityConnectSettings.asset ├── Physics2DSettings.asset ├── NavMeshAreas.asset ├── QualitySettings.asset ├── GraphicsSettings.asset └── InputManager.asset ├── Assets ├── Fonts │ ├── Pixel.png │ ├── Pixel.mat.meta │ ├── Pixel.fontsettings.meta │ ├── Pixel.mat │ ├── Pixel.png.meta │ └── Pixel.fontsettings ├── Audios │ ├── ForestBirds.wav │ └── ForestBirds.wav.meta ├── Sprites │ ├── LensFlares.psd │ ├── Occludie.png │ ├── UI │ │ ├── Frame_3x3.png │ │ ├── Audio │ │ │ ├── audio_on.png │ │ │ ├── audio_off.png │ │ │ ├── audio_off.png.meta │ │ │ └── audio_on.png.meta │ │ ├── Hint │ │ │ ├── Hint_arrow.png │ │ │ ├── Hint_button.png │ │ │ ├── Hint_mouse.png │ │ │ ├── Hint_arrow.png.meta │ │ │ ├── Hint_button.png.meta │ │ │ └── Hint_mouse.png.meta │ │ ├── Audio.meta │ │ ├── Hint.meta │ │ └── Frame_3x3.png.meta │ ├── Environment │ │ ├── Sun.png │ │ ├── Background.png │ │ ├── Trees │ │ │ ├── pine_00.png │ │ │ ├── pine_01.png │ │ │ ├── pine_02.png │ │ │ ├── pine_03.png │ │ │ ├── pine_04.png │ │ │ ├── pine_01.png.meta │ │ │ ├── pine_02.png.meta │ │ │ ├── pine_03.png.meta │ │ │ ├── pine_04.png.meta │ │ │ └── pine_00.png.meta │ │ ├── Trees.meta │ │ ├── Background.png.meta │ │ └── Sun.png.meta │ ├── UI.meta │ ├── Environment.meta │ ├── LensFlares.psd.meta │ └── Occludie.png.meta ├── Audios.meta ├── Fonts.meta ├── Prefabs.meta ├── Prefabs │ ├── OcclusionMap.prefab.meta │ └── OcclusionMap.prefab ├── Animations.meta ├── Materials │ ├── UI.meta │ ├── UI │ │ ├── OcclusionMap.mat.meta │ │ └── OcclusionMap.mat │ ├── LensFlares.meta │ └── LensFlares │ │ ├── LensFlares.mat.meta │ │ ├── LensFlaresOccludie.mat.meta │ │ ├── LensFlares.mat │ │ └── LensFlaresOccludie.mat ├── Scripts │ ├── UI.meta │ ├── Occlusion.meta │ ├── Environment.meta │ ├── LensFlares.meta │ ├── Input.meta │ ├── Parallax.meta │ ├── SelfInactivator.cs │ ├── UI │ │ ├── MapFrame.cs.meta │ │ ├── MapController.cs.meta │ │ ├── ToggleImage.cs.meta │ │ ├── MapFrame.cs │ │ ├── ToggleImage.cs │ │ └── MapController.cs │ ├── Environment │ │ ├── Tree.cs.meta │ │ ├── TreeController.cs.meta │ │ ├── AudioController.cs.meta │ │ ├── TreeController.cs │ │ ├── AudioController.cs │ │ └── Tree.cs │ ├── SelfInactivator.cs.meta │ ├── LensFlares │ │ ├── LensFlares.cs.meta │ │ ├── LensFlaresPreset.cs.meta │ │ ├── LensFlaresPreset.cs │ │ └── LensFlares.cs │ ├── Occlusion │ │ ├── OcclusionCamera.cs.meta │ │ └── OcclusionCamera.cs │ ├── Parallax │ │ ├── ParallaxLayer.cs.meta │ │ ├── ParallaxController.cs.meta │ │ ├── ParallaxLayer.cs │ │ └── ParallaxController.cs │ └── Input │ │ ├── CameraInputController.cs.meta │ │ └── CameraInputController.cs ├── Shaders │ ├── UI.meta │ ├── LensFlares.meta │ ├── Environment.meta │ ├── Environment │ │ ├── VerticalFog.shader.meta │ │ └── VerticalFog.shader │ ├── LensFlares │ │ ├── LensFlaresCG.cginc.meta │ │ ├── LensFlareOccludie.shader.meta │ │ ├── LensFlareOcclusion.shader.meta │ │ ├── LensFlare.shader.meta │ │ ├── LensFlaresCG.cginc │ │ ├── LensFlareOccludie.shader │ │ ├── LensFlareOcclusion.shader │ │ └── LensFlare.shader │ └── UI │ │ ├── MipMapBias.shader.meta │ │ └── MipMapBias.shader ├── Scenes │ └── Main.unity.meta ├── Animations │ ├── Hint.controller.meta │ ├── Button.controller.meta │ └── MapContainer.controller.meta ├── Atlases.meta ├── Scenes.meta ├── Scripts.meta ├── Shaders.meta ├── Sprites.meta ├── Textures.meta ├── Materials.meta ├── ScriptableObjects.meta ├── Atlases │ ├── UI_smooth.spriteatlas.meta │ ├── Environment.spriteatlas.meta │ ├── UI_smooth.spriteatlas │ └── Environment.spriteatlas ├── Textures │ ├── Occlusion.renderTexture.meta │ └── Occlusion.renderTexture └── ScriptableObjects │ ├── LensFlaresPreset.asset.meta │ └── LensFlaresPreset.asset ├── README.md ├── .gitignore └── Packages └── manifest.json /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2018.4.10f1 2 | -------------------------------------------------------------------------------- /Assets/Fonts/Pixel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Fonts/Pixel.png -------------------------------------------------------------------------------- /Assets/Audios/ForestBirds.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Audios/ForestBirds.wav -------------------------------------------------------------------------------- /Assets/Sprites/LensFlares.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Sprites/LensFlares.psd -------------------------------------------------------------------------------- /Assets/Sprites/Occludie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Sprites/Occludie.png -------------------------------------------------------------------------------- /Assets/Sprites/UI/Frame_3x3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Sprites/UI/Frame_3x3.png -------------------------------------------------------------------------------- /Assets/Sprites/Environment/Sun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Sprites/Environment/Sun.png -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/ProjectSettings/VFXManager.asset -------------------------------------------------------------------------------- /Assets/Sprites/UI/Audio/audio_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Sprites/UI/Audio/audio_on.png -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/ProjectSettings/PresetManager.asset -------------------------------------------------------------------------------- /Assets/Sprites/UI/Audio/audio_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Sprites/UI/Audio/audio_off.png -------------------------------------------------------------------------------- /Assets/Sprites/UI/Hint/Hint_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Sprites/UI/Hint/Hint_arrow.png -------------------------------------------------------------------------------- /Assets/Sprites/UI/Hint/Hint_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Sprites/UI/Hint/Hint_button.png -------------------------------------------------------------------------------- /Assets/Sprites/UI/Hint/Hint_mouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Sprites/UI/Hint/Hint_mouse.png -------------------------------------------------------------------------------- /Assets/Sprites/Environment/Background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Sprites/Environment/Background.png -------------------------------------------------------------------------------- /Assets/Sprites/Environment/Trees/pine_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Sprites/Environment/Trees/pine_00.png -------------------------------------------------------------------------------- /Assets/Sprites/Environment/Trees/pine_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Sprites/Environment/Trees/pine_01.png -------------------------------------------------------------------------------- /Assets/Sprites/Environment/Trees/pine_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Sprites/Environment/Trees/pine_02.png -------------------------------------------------------------------------------- /Assets/Sprites/Environment/Trees/pine_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Sprites/Environment/Trees/pine_03.png -------------------------------------------------------------------------------- /Assets/Sprites/Environment/Trees/pine_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotsquid/LensFlares/HEAD/Assets/Sprites/Environment/Trees/pine_04.png -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Assets/Audios.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2107e652a2105054bbd972b2d245f45d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Fonts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3ea46d001c8c0664f92338e60dc49627 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 49b89de830d162a4b9386f3bf99b1a3e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Prefabs/OcclusionMap.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bdb76c4e6af64447b7b8d9553da31bc 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /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/Animations.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8dcdd14f48e596242b8c3b258ccd0149 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Materials/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c1eb4246e024b040850b228b0888f6f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43b929e426edc85469cc3b80baac3d46 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Shaders/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fc110fe3ac99e8249bebe539557a1fdd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Occlusion.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: da951c0ed3377c9478711b8f98fa2cf2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Sprites/UI/Audio.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f211ec977d396034692b99b241035e26 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Sprites/UI/Hint.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e2d93b4e11aefd74599c570b698d20a7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes/Main.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43857005791755a408d9706a591d0ed5 3 | timeCreated: 1534598087 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Environment.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 35c2901a979f70b4ab75d50112bbd8c0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/LensFlares.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 537205af614aeea42b9ca8227eb77664 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Fonts/Pixel.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 464315d9e68ce41409fb9c3544a8204f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Animations/Hint.controller.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 231aa714e2f78774bb902b31e6ae5ae7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 9100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Atlases.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7876a4b1d95e00342b8c52344784f75c 3 | folderAsset: yes 4 | timeCreated: 1534668609 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Fonts/Pixel.fontsettings.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 06db6e7c750d3464990223c74f0f92a2 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 12800000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 26618b772701af24da7f3c31afd816c0 3 | folderAsset: yes 4 | timeCreated: 1534598074 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0eaae34ea11d48b47bec8de8b691f43b 3 | folderAsset: yes 4 | timeCreated: 1534594996 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c7a7c0cff3b27941b6b3975e18eaab4 3 | folderAsset: yes 4 | timeCreated: 1534594996 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sprites.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1cb26fd0584ea8c4d879f8f7ea962a20 3 | folderAsset: yes 4 | timeCreated: 1534598541 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97da8ef835365834cafebdf49445b7f2 3 | folderAsset: yes 4 | timeCreated: 1534599471 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Animations/Button.controller.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa52d372dc3a38f4fbca194e0bcdd9ef 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 9100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1bc92f404c631d408ba0025cd35ddb7 3 | folderAsset: yes 4 | timeCreated: 1534594996 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Materials/UI/OcclusionMap.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0cb57c019a79c494684e96e63d3f3d96 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Input.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a040742af09ed24b95442db1e8695e0 3 | folderAsset: yes 4 | timeCreated: 1535398409 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sprites/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f5154e38cfe3c114ea95dbfb9df1e09d 3 | folderAsset: yes 4 | timeCreated: 1545252329 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Animations/MapContainer.controller.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 86d58c82a1472cb44b31518f8988e5ab 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 9100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/ScriptableObjects.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aec18c921eb75e84eb6cf85b0256a101 3 | folderAsset: yes 4 | timeCreated: 1534697266 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Scripts/Parallax.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c8bdf4f19e5048642af6f58425aac984 3 | folderAsset: yes 4 | timeCreated: 1535395647 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Shaders/LensFlares.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2bbe0b3b3ce884841b7d54c54e75c0d0 3 | folderAsset: yes 4 | timeCreated: 1534599416 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Atlases/UI_smooth.spriteatlas.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 773b89731ec8e0343b4c22621ecbd3af 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4343727234628468602 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Materials/LensFlares.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad5f18310babfc948927f2ddd97af28a 3 | folderAsset: yes 4 | timeCreated: 1534599811 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Shaders/Environment.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e3a9104fdf792b41a46eae51c5e423f 3 | folderAsset: yes 4 | timeCreated: 1534599416 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sprites/Environment.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6c10e40728c9a2740b039a1bc4f7f023 3 | folderAsset: yes 4 | timeCreated: 1559633303 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sprites/Environment/Trees.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1455a30eb816f074fa4d34cae4f856d1 3 | folderAsset: yes 4 | timeCreated: 1545248341 5 | licenseType: Free 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/Shaders/Environment/VerticalFog.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e60f70f5967460e4d93c00dd193da2b9 3 | timeCreated: 1514969904 4 | licenseType: Free 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Shaders/LensFlares/LensFlaresCG.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 273ed2a05990c754ba7e22fbd618677a 3 | timeCreated: 1533884424 4 | licenseType: Free 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Shaders/UI/MipMapBias.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 50881fa00a8c2c144883a4a7e4ba34f9 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Materials/LensFlares/LensFlares.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14bc0f3ef21458f4f95e01124925b07f 3 | timeCreated: 1534698475 4 | licenseType: Free 5 | NativeFormatImporter: 6 | mainObjectFileID: 0 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Shaders/LensFlares/LensFlareOccludie.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 994460975191f414f98ff29b3c0dff3c 3 | timeCreated: 1533735135 4 | licenseType: Free 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Shaders/LensFlares/LensFlareOcclusion.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc2849d2545557a4fba52d30a0b83771 3 | timeCreated: 1533735135 4 | licenseType: Free 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Textures/Occlusion.renderTexture.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4dc1024a3865a7e4d9b3b6723cf4b247 3 | timeCreated: 1533733741 4 | licenseType: Free 5 | NativeFormatImporter: 6 | mainObjectFileID: 8400000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Scripts/SelfInactivator.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public class SelfInactivator : StateMachineBehaviour 4 | { 5 | public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) 6 | { 7 | animator.enabled = false; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Assets/ScriptableObjects/LensFlaresPreset.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c86fadb3935a804b88b6af471f4b7a2 3 | timeCreated: 1534697279 4 | licenseType: Free 5 | NativeFormatImporter: 6 | mainObjectFileID: 11400000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Atlases/Environment.spriteatlas.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 70f09c364ae558047ac6162311fc373d 3 | timeCreated: 1545343639 4 | licenseType: Free 5 | NativeFormatImporter: 6 | mainObjectFileID: 4343727234628468602 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Materials/LensFlares/LensFlaresOccludie.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 224da939e6efd624e80e21ad9c67b865 3 | timeCreated: 1533735154 4 | licenseType: Free 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /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/Scenes/Main.unity 10 | guid: 43857005791755a408d9706a591d0ed5 11 | -------------------------------------------------------------------------------- /Assets/Scripts/UI/MapFrame.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be04b5a5d170a4945b4e29b9080b7398 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Environment/Tree.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5a6b404ab7b668a4a9b8bcc56d1a36af 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/SelfInactivator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8fe1405029fa3cd4bac3b28861736687 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/UI/MapController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee9f191480b5b9a428898efe0c01e31a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/UI/ToggleImage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 529ab1e669faf19459fe7bc544836898 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Environment/TreeController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e3f9bcb63c53e942972a940fdb1a6c2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/Environment/AudioController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f5797b864927e342b1f4d0118836fdb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Scripts/LensFlares/LensFlares.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c4e0b918809675a4d9f322a68f691d2b 3 | timeCreated: 1534696917 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Occlusion/OcclusionCamera.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 629a420cbccaff44387999deb23618dd 3 | timeCreated: 1534598061 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Parallax/ParallaxLayer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7861b74e0c84a88478bb03b30056b86b 3 | timeCreated: 1535395647 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Input/CameraInputController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f2b306f200c3ac49b6766a5a3c10d37 3 | timeCreated: 1536174885 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: -1000 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/LensFlares/LensFlaresPreset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 204e8c9565f977f46b249d6d40802a8f 3 | timeCreated: 1534696917 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Parallax/ParallaxController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45c88e8aec96464438ec304271ce3e36 3 | timeCreated: 1536175013 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: -500 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Shaders/LensFlares/LensFlare.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76709745da2750346b02db991f7119fb 3 | timeCreated: 1533741333 4 | licenseType: Free 5 | ShaderImporter: 6 | defaultTextures: 7 | - _OcclusionMap: {fileID: 8400000, guid: 4dc1024a3865a7e4d9b3b6723cf4b247, type: 2} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![](http://dotsquid.com/titles/simple-gpu_occlusion-for-lens-flares.png) 2 | This is a public source code of [a WebGL demo](http://dotsquid.com/LensFlaresDemoBuild/) of an idea described [in my blog](http://dotsquid.com/2019/06/26/simple-gpu-occlusion-for-lens-flares/). 3 | Feel free to use it in your personal and commercial projects. 4 | Mentioning my efforts is highly appreciated. 5 | [![Say Thanks!](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/dotsquid) 6 | -------------------------------------------------------------------------------- /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: 4 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_DefaultBehaviorMode: 1 10 | m_SpritePackerMode: 4 11 | m_SpritePackerPaddingPower: 1 12 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd 13 | m_ProjectGenerationRootNamespace: 14 | m_UserGeneratedProjectSuffix: 15 | m_CollabEditorSettings: 16 | inProgressEnabled: 1 17 | -------------------------------------------------------------------------------- /Assets/Audios/ForestBirds.wav.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9e9bd787f4509b47886068abe22229b 3 | AudioImporter: 4 | externalObjects: {} 5 | serializedVersion: 6 6 | defaultSettings: 7 | loadType: 0 8 | sampleRateSetting: 0 9 | sampleRateOverride: 44100 10 | compressionFormat: 1 11 | quality: 1 12 | conversionMode: 0 13 | platformSettingOverrides: {} 14 | forceToMono: 1 15 | normalize: 1 16 | preloadAudioData: 1 17 | loadInBackground: 0 18 | ambisonic: 0 19 | 3D: 1 20 | userData: 21 | assetBundleName: 22 | assetBundleVariant: 23 | -------------------------------------------------------------------------------- /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 | - 17 | - 18 | - 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: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /Assets/Scripts/LensFlares/LensFlaresPreset.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | [CreateAssetMenu(menuName = "ScriptableObjects/LensFlaresPreset")] 5 | public class LensFlaresPreset : ScriptableObject 6 | { 7 | public event Action onValidate; 8 | 9 | [SerializeField] 10 | private LensFlares.FlarePreset[] _presets; 11 | 12 | public LensFlares.FlarePreset[] presets 13 | { 14 | get { return _presets; } 15 | } 16 | 17 | #if UNITY_EDITOR 18 | private void OnValidate() 19 | { 20 | if (onValidate != null) 21 | onValidate.Invoke(); 22 | } 23 | #endif 24 | } 25 | -------------------------------------------------------------------------------- /Assets/Scripts/Environment/TreeController.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | public class TreeController : MonoBehaviour 5 | { 6 | private List _trees = new List(); 7 | 8 | private void Awake() 9 | { 10 | GetComponentsInChildren(_trees); 11 | for (int i = 0, count = _trees.Count; i < count; ++i) 12 | { 13 | _trees[i].Init(); 14 | } 15 | } 16 | 17 | private void Update() 18 | { 19 | var time = Time.time; 20 | for (int i = 0, count = _trees.Count; i < count; ++i) 21 | { 22 | _trees[i].Swing(time); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Assets/Scripts/UI/MapFrame.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | 4 | public class MapFrame : MonoBehaviour 5 | { 6 | [SerializeField] 7 | private Color _highlight = Color.red; 8 | [SerializeField] 9 | private float _frequency = 1.0f; 10 | 11 | private Image _image; 12 | private Color _initColor; 13 | 14 | private void Awake() 15 | { 16 | _image = GetComponent(); 17 | _initColor = _image.color; 18 | } 19 | 20 | private void Update() 21 | { 22 | float wave = Mathf.Sin(Time.time * _frequency) * 0.5f + 0.5f; 23 | var color = Color.Lerp(_initColor, _highlight, wave); 24 | color.a = _initColor.a; 25 | _image.color = color; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /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: 3 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_EnablePCM: 1 18 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 19 | m_AutoSimulation: 1 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # ================== # 2 | # Manually generated # 3 | # ================== # 4 | *.log 5 | sysinfo.txt 6 | Assets/Plugins/ConsoleE/Editor/ConsoleE_TabSettings 7 | Assets/Plugins/ConsoleE/Editor/ConsoleE_TabSettings.meta 8 | 9 | # =============== # 10 | # Unity generated # 11 | # =============== # 12 | [Bb]uild/ 13 | [Ll]ibrary/ 14 | [Oo]bj/ 15 | [Tt]emp/ 16 | MemoryCaptures/ 17 | ProfilerCaptures/ 18 | 19 | # ========================================================== # 20 | # Visual Studio / Visual Studio Code / MonoDevelop generated # 21 | # ========================================================== # 22 | .vs/ 23 | .vscode/ 24 | *.sln 25 | *.csproj 26 | *.suo 27 | *.user 28 | *.userprefs 29 | *.pidb 30 | 31 | # ============ # 32 | # OS generated # 33 | # ============ # 34 | ._* 35 | .DS_Store 36 | .DS_Store* 37 | .Spotlight-V100 38 | .Trashes 39 | [Tt]humbs.db 40 | ehthumbs.db 41 | -------------------------------------------------------------------------------- /Assets/Scripts/UI/ToggleImage.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | 4 | [RequireComponent(typeof(Image), typeof(Toggle))] 5 | public class ToggleImage : MonoBehaviour 6 | { 7 | [SerializeField] 8 | private Sprite _onSprite; 9 | [SerializeField] 10 | private Sprite _offSprite; 11 | 12 | private Toggle _toggle; 13 | private Image _image; 14 | 15 | private void Awake() 16 | { 17 | _image = GetComponent(); 18 | _toggle = GetComponent(); 19 | _toggle.onValueChanged.AddListener(OnValueChanged); 20 | OnValueChanged(_toggle.isOn); 21 | } 22 | 23 | private void OnDestroy() 24 | { 25 | _toggle.onValueChanged.RemoveListener(OnValueChanged); 26 | } 27 | 28 | private void OnValueChanged(bool isOn) 29 | { 30 | _image.sprite = isOn ? _onSprite : _offSprite; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Assets/Textures/Occlusion.renderTexture: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!84 &8400000 4 | RenderTexture: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: Occlusion 10 | m_ImageContentsHash: 11 | serializedVersion: 2 12 | Hash: 00000000000000000000000000000000 13 | m_ForcedFallbackFormat: 4 14 | m_DownscaleFallback: 0 15 | m_Width: 64 16 | m_Height: 64 17 | m_AntiAliasing: 1 18 | m_DepthFormat: 0 19 | m_ColorFormat: 15 20 | m_MipMap: 1 21 | m_GenerateMips: 1 22 | m_SRGB: 1 23 | m_UseDynamicScale: 0 24 | m_BindMS: 0 25 | m_TextureSettings: 26 | serializedVersion: 2 27 | m_FilterMode: 0 28 | m_Aniso: 0 29 | m_MipBias: 0 30 | m_WrapU: 1 31 | m_WrapV: 1 32 | m_WrapW: 1 33 | m_Dimension: 2 34 | m_VolumeDepth: 1 35 | -------------------------------------------------------------------------------- /Assets/Scripts/Environment/AudioController.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using UnityEngine; 3 | 4 | public class AudioController : MonoBehaviour 5 | { 6 | [SerializeField] 7 | private AudioSource _audioSource; 8 | [SerializeField] 9 | private float _fadeInDuration = 5.0f; 10 | 11 | private float _maxVolume; 12 | 13 | private IEnumerator Start() 14 | { 15 | _maxVolume = _audioSource.volume; 16 | _audioSource.volume = 0.0f; 17 | float time = 0.0f; 18 | while (time <= _fadeInDuration) 19 | { 20 | float t = time / _fadeInDuration; 21 | _audioSource.volume = Mathf.Lerp(0.0f, _maxVolume, t); 22 | time += Time.deltaTime; 23 | yield return null; 24 | } 25 | } 26 | 27 | public void SetState(bool isActive) 28 | { 29 | _audioSource.mute = !isActive; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Assets/Fonts/Pixel.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: Pixel 11 | m_Shader: {fileID: 10101, guid: 0000000000000000e000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _MainTex: 23 | m_Texture: {fileID: 2800000, guid: 266fb5d3182431c4a8284e765b898552, type: 3} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | m_Floats: [] 27 | m_Colors: 28 | - _Color: {r: 1, g: 1, b: 1, a: 1} 29 | -------------------------------------------------------------------------------- /Assets/Shaders/LensFlares/LensFlaresCG.cginc: -------------------------------------------------------------------------------- 1 | #ifndef LENS_FLARES_CG_CGINC 2 | #define LENS_FLARES_CG_CGINC 3 | 4 | #include "UnityCG.cginc" 5 | 6 | struct appdata_t 7 | { 8 | float4 vertex : POSITION; 9 | float4 color : COLOR; 10 | float2 texcoord : TEXCOORD0; 11 | }; 12 | 13 | struct v2f 14 | { 15 | float4 vertex : SV_POSITION; 16 | float4 color : COLOR; 17 | float2 texcoord : TEXCOORD0; 18 | }; 19 | 20 | float4 _MainTex_ST; 21 | sampler2D _MainTex; 22 | 23 | v2f vert(appdata_t IN) 24 | { 25 | v2f OUT; 26 | OUT.vertex = UnityObjectToClipPos(IN.vertex); 27 | OUT.color = IN.color; 28 | OUT.texcoord = TRANSFORM_TEX(IN.texcoord, _MainTex); 29 | 30 | return OUT; 31 | } 32 | 33 | fixed4 frag(v2f IN) : SV_Target 34 | { 35 | fixed alpha = tex2D( _MainTex, IN.texcoord ).a * IN.color.a; 36 | fixed4 color = fixed4(MainOpaqueColor, alpha); 37 | return color; 38 | } 39 | 40 | #endif // LENS_FLARES_CG_CGINC -------------------------------------------------------------------------------- /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 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /Assets/Materials/UI/OcclusionMap.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: OcclusionMap 11 | m_Shader: {fileID: 4800000, guid: 50881fa00a8c2c144883a4a7e4ba34f9, type: 3} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _MainTex: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | m_Floats: 27 | - _Bias: 0 28 | - _ColorMask: 15 29 | - _Stencil: 0 30 | - _StencilComp: 8 31 | - _StencilOp: 0 32 | - _StencilReadMask: 255 33 | - _StencilWriteMask: 255 34 | - _UseUIAlphaClip: 0 35 | m_Colors: 36 | - _Color: {r: 1, g: 1, b: 1, a: 1} 37 | -------------------------------------------------------------------------------- /Assets/Scripts/Occlusion/OcclusionCamera.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | [ExecuteInEditMode] 4 | public class OcclusionCamera : MonoBehaviour 5 | { 6 | private const string kReplacementTag = "RenderType"; 7 | 8 | [SerializeField] 9 | private Camera _camera; 10 | [SerializeField] 11 | private Shader _shader; 12 | [SerializeField] 13 | private Renderer _target; 14 | 15 | private void Awake() 16 | { 17 | #if UNITY_EDITOR 18 | if (_camera != null) 19 | #endif 20 | { 21 | _camera.enabled = false; 22 | } 23 | } 24 | 25 | private void Update() 26 | { 27 | #if UNITY_EDITOR 28 | if (_camera != null && 29 | _shader != null && 30 | _target != null) 31 | #endif 32 | { 33 | var bounds = _target.bounds; 34 | var size = bounds.size; 35 | var maxSize = Mathf.Max(size.x, size.y); 36 | var orthoSize = maxSize * 0.5f; 37 | _camera.orthographicSize = orthoSize; 38 | _camera.RenderWithShader(_shader, kReplacementTag); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Assets/Scripts/Environment/Tree.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public class Tree : MonoBehaviour 4 | { 5 | private static readonly Vector3 kForward = Vector3.forward; 6 | 7 | [SerializeField] 8 | private float _minAmplitude = 1.0f; 9 | [SerializeField] 10 | private float _maxAmplitude = 4.0f; 11 | [SerializeField] 12 | private float _minSpeed = 1.0f; 13 | [SerializeField] 14 | private float _maxSpeed = 2.0f; 15 | 16 | private Transform _transform; 17 | private float _amplitude; 18 | private float _frequency; 19 | private float _offset; 20 | 21 | public void Init() 22 | { 23 | _transform = transform; 24 | _amplitude = Random.Range(_minAmplitude, _maxAmplitude); 25 | float speed = Random.Range(_minSpeed, _maxSpeed); 26 | _frequency = speed / _amplitude; 27 | _offset = Random.Range(0.0f, 2.0f * Mathf.PI); 28 | } 29 | 30 | public void Swing(float time) 31 | { 32 | float angle = Mathf.Sin(time * _frequency + _offset) * _amplitude; 33 | _transform.localRotation = Quaternion.AngleAxis(angle, kForward); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Assets/Shaders/LensFlares/LensFlareOccludie.shader: -------------------------------------------------------------------------------- 1 | Shader "+dotsquid/LensFlare/Occludie" 2 | { 3 | Properties 4 | { 5 | _MainTex ("Main", 2D) = "white" {} 6 | } 7 | 8 | SubShader 9 | { 10 | Tags 11 | { 12 | "Queue"="Transparent" 13 | "IgnoreProjector"="True" 14 | "RenderType"="Occludie" 15 | "PreviewType"="Plane" 16 | "ForceNoShadowCasting"="True" 17 | } 18 | 19 | Cull Off 20 | Lighting Off 21 | ZWrite Off 22 | 23 | Pass 24 | { 25 | CGPROGRAM 26 | #pragma vertex vert 27 | #pragma fragment frag 28 | #pragma target 2.0 29 | 30 | struct appdata_t 31 | { 32 | float4 vertex : POSITION; 33 | }; 34 | 35 | struct v2f 36 | { 37 | float4 vertex : SV_POSITION; 38 | }; 39 | 40 | v2f vert(appdata_t IN) 41 | { 42 | v2f OUT; 43 | OUT.vertex = float4(0.0, 0.0, 0.0, 0.0); 44 | return OUT; 45 | } 46 | 47 | fixed4 frag(v2f IN) : SV_Target 48 | { 49 | clip(-1.0); 50 | return fixed4(0.0, 0.0, 0.0, 0.0); 51 | } 52 | ENDCG 53 | } 54 | } 55 | } -------------------------------------------------------------------------------- /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_AlwaysShowColliders: 0 28 | m_ShowColliderSleep: 1 29 | m_ShowColliderContacts: 0 30 | m_ShowColliderAABB: 0 31 | m_ContactArrowScale: 0.2 32 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 33 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 34 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 35 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 36 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 37 | -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.package-manager-ui": "2.0.7", 4 | "com.unity.modules.ai": "1.0.0", 5 | "com.unity.modules.animation": "1.0.0", 6 | "com.unity.modules.assetbundle": "1.0.0", 7 | "com.unity.modules.audio": "1.0.0", 8 | "com.unity.modules.cloth": "1.0.0", 9 | "com.unity.modules.director": "1.0.0", 10 | "com.unity.modules.imageconversion": "1.0.0", 11 | "com.unity.modules.imgui": "1.0.0", 12 | "com.unity.modules.jsonserialize": "1.0.0", 13 | "com.unity.modules.particlesystem": "1.0.0", 14 | "com.unity.modules.physics": "1.0.0", 15 | "com.unity.modules.physics2d": "1.0.0", 16 | "com.unity.modules.screencapture": "1.0.0", 17 | "com.unity.modules.terrain": "1.0.0", 18 | "com.unity.modules.terrainphysics": "1.0.0", 19 | "com.unity.modules.tilemap": "1.0.0", 20 | "com.unity.modules.ui": "1.0.0", 21 | "com.unity.modules.uielements": "1.0.0", 22 | "com.unity.modules.umbra": "1.0.0", 23 | "com.unity.modules.unityanalytics": "1.0.0", 24 | "com.unity.modules.unitywebrequest": "1.0.0", 25 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 26 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 27 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 28 | "com.unity.modules.unitywebrequestwww": "1.0.0", 29 | "com.unity.modules.vehicles": "1.0.0", 30 | "com.unity.modules.video": "1.0.0", 31 | "com.unity.modules.vr": "1.0.0", 32 | "com.unity.modules.wind": "1.0.0", 33 | "com.unity.modules.xr": "1.0.0" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /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 | m_SettingNames: 89 | - Humanoid 90 | -------------------------------------------------------------------------------- /Assets/Shaders/LensFlares/LensFlareOcclusion.shader: -------------------------------------------------------------------------------- 1 | Shader "+dotsquid/LensFlare/Occlusion" 2 | { 3 | Properties 4 | { 5 | _MainTex ("Main", 2D) = "white" {} 6 | } 7 | 8 | SubShader 9 | { 10 | Tags 11 | { 12 | "Queue" = "Transparent" 13 | "IgnoreProjector"="True" 14 | "RenderType"="Transparent" 15 | "PreviewType"="Plane" 16 | "ForceNoShadowCasting"="True" 17 | } 18 | 19 | Cull Off 20 | Lighting Off 21 | ZTest Off 22 | ZWrite Off 23 | Blend SrcAlpha OneMinusSrcAlpha 24 | 25 | Pass 26 | { 27 | CGPROGRAM 28 | #pragma vertex vert 29 | #pragma fragment frag 30 | #pragma target 3.0 31 | static const fixed3 MainOpaqueColor = fixed3(0.0, 0.0, 0.0); 32 | #include "LensFlaresCG.cginc" 33 | ENDCG 34 | } 35 | } 36 | 37 | SubShader 38 | { 39 | Tags 40 | { 41 | "Queue" = "Transparent" 42 | "IgnoreProjector"="True" 43 | "RenderType"="Occludie" 44 | "PreviewType"="Plane" 45 | "ForceNoShadowCasting"="True" 46 | } 47 | 48 | Cull Off 49 | Lighting Off 50 | ZTest Off 51 | ZWrite Off 52 | Blend SrcAlpha OneMinusSrcAlpha 53 | 54 | Pass 55 | { 56 | CGPROGRAM 57 | #pragma vertex vert 58 | #pragma fragment frag 59 | #pragma target 3.0 60 | static const fixed3 MainOpaqueColor = fixed3(1.0, 1.0, 1.0); 61 | #include "LensFlaresCG.cginc" 62 | ENDCG 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 0 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Normal 11 | pixelLightCount: 4 12 | shadows: 0 13 | shadowResolution: 2 14 | shadowProjection: 1 15 | shadowCascades: 4 16 | shadowDistance: 150 17 | shadowNearPlaneOffset: 3 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 1 21 | blendWeights: 4 22 | textureQuality: 0 23 | anisotropicTextures: 1 24 | antiAliasing: 4 25 | softParticles: 0 26 | softVegetation: 1 27 | realtimeReflectionProbes: 0 28 | billboardsFaceCameraPosition: 1 29 | vSyncCount: 0 30 | lodBias: 2 31 | maximumLODLevel: 0 32 | streamingMipmapsActive: 0 33 | streamingMipmapsAddAllCameras: 1 34 | streamingMipmapsMemoryBudget: 512 35 | streamingMipmapsRenderersPerFrame: 512 36 | streamingMipmapsMaxLevelReduction: 2 37 | streamingMipmapsMaxFileIORequests: 1024 38 | particleRaycastBudget: 4096 39 | asyncUploadTimeSlice: 2 40 | asyncUploadBufferSize: 4 41 | asyncUploadPersistentBuffer: 1 42 | resolutionScalingFixedDPIFactor: 1 43 | excludedTargetPlatforms: [] 44 | m_PerPlatformDefaultQuality: 45 | Android: 0 46 | Nintendo 3DS: 0 47 | Nintendo Switch: 0 48 | PS4: 0 49 | PSM: 0 50 | PSP2: 0 51 | Samsung TV: 0 52 | Standalone: 0 53 | Tizen: 0 54 | Web: 0 55 | WebGL: 0 56 | WiiU: 0 57 | Windows Store Apps: 0 58 | XboxOne: 0 59 | iPhone: 0 60 | tvOS: 0 61 | -------------------------------------------------------------------------------- /Assets/Atlases/UI_smooth.spriteatlas: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!687078895 &4343727234628468602 4 | SpriteAtlas: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: UI_smooth 10 | m_EditorData: 11 | serializedVersion: 2 12 | textureSettings: 13 | serializedVersion: 2 14 | anisoLevel: 1 15 | compressionQuality: 50 16 | maxTextureSize: 2048 17 | textureCompression: 0 18 | filterMode: 1 19 | generateMipMaps: 1 20 | readable: 0 21 | crunchedCompression: 0 22 | sRGB: 1 23 | platformSettings: [] 24 | packingSettings: 25 | serializedVersion: 2 26 | padding: 4 27 | blockOffset: 1 28 | allowAlphaSplitting: 0 29 | enableRotation: 1 30 | enableTightPacking: 1 31 | variantMultiplier: 1 32 | packables: 33 | - {fileID: 102900000, guid: e2d93b4e11aefd74599c570b698d20a7, type: 3} 34 | - {fileID: 102900000, guid: f211ec977d396034692b99b241035e26, type: 3} 35 | totalSpriteSurfaceArea: 320335 36 | bindAsDefault: 1 37 | storedHash: 38 | serializedVersion: 2 39 | Hash: 98d1797f6fd7d1100428a90027f8f4e4 40 | m_MasterAtlas: {fileID: 0} 41 | m_PackedSprites: 42 | - {fileID: 21300000, guid: 50aae711b15c04947a89e9043ad33273, type: 3} 43 | - {fileID: 21300000, guid: 30c46c41a6da8c84581a77076d6aa1b3, type: 3} 44 | - {fileID: 21300000, guid: 47eabde564b1e4841b92e448a9ad15a7, type: 3} 45 | - {fileID: 21300000, guid: 423b945d79feeb64bb8564550709013f, type: 3} 46 | - {fileID: 21300000, guid: 8268b78e4c3ba594a81670babd46115d, type: 3} 47 | m_PackedSpriteNamesToIndex: 48 | - Hint_button 49 | - Hint_arrow 50 | - Hint_mouse 51 | - audio_on 52 | - audio_off 53 | m_Tag: UI_smooth 54 | m_IsVariant: 0 55 | -------------------------------------------------------------------------------- /Assets/Scripts/Parallax/ParallaxLayer.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public class ParallaxLayer : MonoBehaviour 4 | { 5 | [SerializeField] 6 | private Vector2 _factor = Vector2.one; 7 | 8 | private Transform _transform; 9 | private ParallaxController _owner; 10 | private Vector2 _oneMinusFactor; 11 | private bool _isFactorUseful; 12 | #if UNITY_EDITOR 13 | private bool _isInformed; 14 | #endif 15 | 16 | public Vector2 factor 17 | { 18 | get { return _factor; } 19 | set 20 | { 21 | _factor = value; 22 | RecalculateInnerFactor(); 23 | } 24 | } 25 | 26 | #if UNITY_EDITOR 27 | private void LateUpdate() 28 | { 29 | if (null == _owner && !_isInformed) 30 | { 31 | Debug.LogWarning("WunderCameraParallaxLayer is not linked with WunderCameraParallax.", this); 32 | _isInformed = true; 33 | } 34 | } 35 | 36 | private void OnValidate() 37 | { 38 | RecalculateInnerFactor(); 39 | } 40 | #endif 41 | 42 | public void Link(ParallaxController owner) 43 | { 44 | _owner = owner; 45 | _transform = transform; 46 | RecalculateInnerFactor(); 47 | } 48 | 49 | public void Unlink() 50 | { 51 | _owner = null; 52 | } 53 | 54 | public void Apply(Vector2 cameraOffset) 55 | { 56 | if (_isFactorUseful) 57 | { 58 | // this matches GetOffset 59 | // but inlined manually for the sake of optimization 60 | Vector3 offset = Vector2.Scale(cameraOffset, _oneMinusFactor); 61 | _transform.position += offset; 62 | } 63 | } 64 | 65 | private void RecalculateInnerFactor() 66 | { 67 | const float kFactorSqrEpsilon = 0.000001f; 68 | _oneMinusFactor = Vector2.one - _factor; 69 | _isFactorUseful = (_oneMinusFactor.sqrMagnitude > kFactorSqrEpsilon); 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /Assets/ScriptableObjects/LensFlaresPreset.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: 204e8c9565f977f46b249d6d40802a8f, type: 3} 13 | m_Name: LensFlaresPreset 14 | m_EditorClassIdentifier: 15 | _presets: 16 | - sprite: {fileID: 21300000, guid: 489dd4207328bfb4f8d95476963513a6, type: 3} 17 | color: {r: 1, g: 1, b: 1, a: 0.7254902} 18 | size: 1.5 19 | position: 0 20 | align: 0 21 | startAngle: 0 22 | - sprite: {fileID: 21300002, guid: 489dd4207328bfb4f8d95476963513a6, type: 3} 23 | color: {r: 1, g: 1, b: 1, a: 0.7607843} 24 | size: 1.5 25 | position: 0.05 26 | align: 0 27 | startAngle: 0 28 | - sprite: {fileID: 21300004, guid: 489dd4207328bfb4f8d95476963513a6, type: 3} 29 | color: {r: 1, g: 1, b: 1, a: 0.5254902} 30 | size: 0.46 31 | position: 0.43 32 | align: 0 33 | startAngle: 0 34 | - sprite: {fileID: 21300006, guid: 489dd4207328bfb4f8d95476963513a6, type: 3} 35 | color: {r: 1, g: 1, b: 1, a: 0.627451} 36 | size: 0.98 37 | position: 0.63 38 | align: 0 39 | startAngle: 0 40 | - sprite: {fileID: 21300004, guid: 489dd4207328bfb4f8d95476963513a6, type: 3} 41 | color: {r: 1, g: 1, b: 1, a: 0.39215687} 42 | size: 1.3 43 | position: 1 44 | align: 0 45 | startAngle: 0 46 | - sprite: {fileID: 21300008, guid: 489dd4207328bfb4f8d95476963513a6, type: 3} 47 | color: {r: 1, g: 1, b: 1, a: 0.22352941} 48 | size: 1.8 49 | position: 1.05 50 | align: 0 51 | startAngle: 0 52 | - sprite: {fileID: 21300006, guid: 489dd4207328bfb4f8d95476963513a6, type: 3} 53 | color: {r: 1, g: 1, b: 1, a: 0.3764706} 54 | size: 0.7 55 | position: 1.4 56 | align: 0 57 | startAngle: 90 58 | -------------------------------------------------------------------------------- /Assets/Scripts/Input/CameraInputController.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public class CameraInputController : MonoBehaviour 4 | { 5 | [SerializeField] 6 | private Vector2 _sensitivity = Vector2.one; 7 | [SerializeField] 8 | private Vector2 _damping = Vector2.one; 9 | [SerializeField] 10 | private Rect _limit = new Rect(-6.0f, -0.8f, 12.0f, 1.2f); 11 | 12 | private Transform _transform; 13 | private Vector2 _prevPosition; 14 | private Vector2 _velocity; 15 | private bool _isPanning; 16 | 17 | private void Awake() 18 | { 19 | _transform = transform; 20 | } 21 | 22 | private void Update() 23 | { 24 | if (Input.touchSupported && Application.platform != RuntimePlatform.WebGLPlayer) 25 | HandleTouch(); 26 | else 27 | HandleMouse(); 28 | PanCamera(); 29 | } 30 | 31 | private void HandleMouse() 32 | { 33 | var prevIsPanning = _isPanning; 34 | _isPanning = Input.GetMouseButton(0); 35 | if (_isPanning) 36 | { 37 | if (!prevIsPanning) 38 | { 39 | _prevPosition = Input.mousePosition; 40 | } 41 | Vector2 position = Input.mousePosition; 42 | Vector2 offset = position - _prevPosition; 43 | _velocity -= offset * Time.deltaTime; 44 | _prevPosition = position; 45 | } 46 | } 47 | 48 | private void HandleTouch() 49 | { 50 | _isPanning = Input.touchCount == 1; 51 | if (_isPanning) 52 | { 53 | var touch = Input.GetTouch(0); 54 | Vector2 offset = touch.deltaPosition; 55 | _velocity -= offset * Time.deltaTime; 56 | } 57 | } 58 | 59 | private void PanCamera() 60 | { 61 | var translation = Vector2.Scale(_velocity, _sensitivity); 62 | _transform.Translate(translation, Space.World); 63 | _velocity = Vector2.Scale(_velocity, _damping); 64 | LimitCamera(); 65 | } 66 | 67 | private void LimitCamera() 68 | { 69 | var position = _transform.position; 70 | position.x = Mathf.Clamp(position.x, _limit.xMin, _limit.xMax); 71 | position.y = Mathf.Clamp(position.y, _limit.yMin, _limit.yMax); 72 | _transform.position = position; 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /Assets/Atlases/Environment.spriteatlas: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!687078895 &4343727234628468602 4 | SpriteAtlas: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: Environment 10 | m_EditorData: 11 | serializedVersion: 2 12 | textureSettings: 13 | serializedVersion: 2 14 | anisoLevel: 1 15 | compressionQuality: 50 16 | maxTextureSize: 4096 17 | textureCompression: 1 18 | filterMode: 2 19 | generateMipMaps: 1 20 | readable: 0 21 | crunchedCompression: 0 22 | sRGB: 1 23 | platformSettings: 24 | - serializedVersion: 2 25 | m_BuildTarget: DefaultTexturePlatform 26 | m_MaxTextureSize: 4096 27 | m_ResizeAlgorithm: 0 28 | m_TextureFormat: -1 29 | m_TextureCompression: 1 30 | m_CompressionQuality: 50 31 | m_CrunchedCompression: 0 32 | m_AllowsAlphaSplitting: 0 33 | m_Overridden: 0 34 | m_AndroidETC2FallbackOverride: 0 35 | packingSettings: 36 | serializedVersion: 2 37 | padding: 4 38 | blockOffset: 1 39 | allowAlphaSplitting: 0 40 | enableRotation: 1 41 | enableTightPacking: 1 42 | variantMultiplier: 1 43 | packables: 44 | - {fileID: 102900000, guid: 6c10e40728c9a2740b039a1bc4f7f023, type: 3} 45 | totalSpriteSurfaceArea: 9229440 46 | bindAsDefault: 1 47 | storedHash: 48 | serializedVersion: 2 49 | Hash: 6ca64adf614da0a93bd49d970e3a8692 50 | m_MasterAtlas: {fileID: 0} 51 | m_PackedSprites: 52 | - {fileID: 21300000, guid: b8666162c75828548a2f3c9930c4dd04, type: 3} 53 | - {fileID: 21300000, guid: b8a0c009f65a4f947850db96e48a1a77, type: 3} 54 | - {fileID: 21300000, guid: fa5d68da3745ad84b94d73194f7ea652, type: 3} 55 | - {fileID: 21300000, guid: 8e13bb4bfee75d943b63fc4a65113c12, type: 3} 56 | - {fileID: 21300000, guid: 5fa6e5edcf8557d4cb3db11863c4c752, type: 3} 57 | - {fileID: 21300000, guid: 2278e83e73502ac48ab005d702057597, type: 3} 58 | - {fileID: 21300000, guid: 921bef3eac74f4b4aa8fb11b5b0033c0, type: 3} 59 | m_PackedSpriteNamesToIndex: 60 | - pine_04 61 | - pine_02 62 | - pine_01 63 | - Background 64 | - pine_03 65 | - Sun 66 | - pine_00 67 | m_Tag: Environment 68 | m_IsVariant: 0 69 | -------------------------------------------------------------------------------- /Assets/Materials/LensFlares/LensFlares.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: LensFlares 11 | m_Shader: {fileID: 4800000, guid: 76709745da2750346b02db991f7119fb, type: 3} 12 | m_ShaderKeywords: ETC1_EXTERNAL_ALPHA 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: 3000 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 8400000, guid: 4dc1024a3865a7e4d9b3b6723cf4b247, type: 2} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0.5 65 | - _GlossyReflections: 1 66 | - _MaxLevel: 0.4 67 | - _Metallic: 0 68 | - _MinLevel: 0.05 69 | - _Mode: 0 70 | - _OcclusionStrength: 1 71 | - _Parallax: 0.02 72 | - _PulseMaxScale: 0.02 73 | - _SmoothnessTextureChannel: 0 74 | - _SpecularHighlights: 1 75 | - _SrcBlend: 1 76 | - _UVSec: 0 77 | - _ZWrite: 1 78 | m_Colors: 79 | - _Color: {r: 1, g: 1, b: 1, a: 1} 80 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 81 | -------------------------------------------------------------------------------- /Assets/Scripts/Parallax/ParallaxController.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | #if UNITY_EDITOR 4 | using UnityEditor; 5 | #endif 6 | 7 | [ExecuteInEditMode] 8 | [RequireComponent(typeof(Camera))] 9 | public class ParallaxController : MonoBehaviour 10 | { 11 | [SerializeField] 12 | private List _layers = new List(); 13 | #if UNITY_EDITOR 14 | [SerializeField] 15 | private bool _isActiveInEditor = false; 16 | #endif 17 | 18 | private Camera _camera; 19 | private Transform _cameraTransform; 20 | private Vector2 _prevCameraPosition; 21 | 22 | private void Awake() 23 | { 24 | _camera = GetComponentInChildren(true); 25 | _cameraTransform = _camera.transform; 26 | LinkLayers(); 27 | } 28 | 29 | private void Start() 30 | { 31 | _prevCameraPosition = _cameraTransform.position; 32 | } 33 | 34 | private void OnValidate() 35 | { 36 | LinkLayers(); 37 | } 38 | 39 | #if UNITY_EDITOR 40 | private void Update() 41 | { 42 | if (!EditorApplication.isPlaying) 43 | LateUpdate(); 44 | } 45 | #endif 46 | 47 | private void LateUpdate() 48 | { 49 | Vector2 cameraPosition = _cameraTransform.position; 50 | Vector2 offset = cameraPosition - _prevCameraPosition; 51 | _prevCameraPosition = cameraPosition; 52 | Apply(offset); 53 | } 54 | 55 | private void Apply(Vector2 offset) 56 | { 57 | #if UNITY_EDITOR 58 | // suppress work in Editor mode 59 | if (!EditorApplication.isPlaying && !_isActiveInEditor) 60 | return; 61 | #endif 62 | const float kOffsetSqrEpsilon = 1.0E-16f; 63 | if (offset.sqrMagnitude > kOffsetSqrEpsilon) 64 | { 65 | for (int i = 0, count = _layers.Count; i < count; ++i) 66 | { 67 | var layer = _layers[i]; 68 | if (layer && layer.isActiveAndEnabled) 69 | layer.Apply(offset); 70 | } 71 | } 72 | } 73 | 74 | public void Add(ParallaxLayer layer) 75 | { 76 | _layers.Add(layer); 77 | layer.Link(this); 78 | } 79 | 80 | public void Remove(ParallaxLayer layer) 81 | { 82 | layer.Unlink(); 83 | _layers.Remove(layer); 84 | } 85 | 86 | private void LinkLayers() 87 | { 88 | for (int i = 0, count = _layers.Count; i < count; ++i) 89 | { 90 | var layer = _layers[i]; 91 | layer.Link(this); 92 | } 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /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: 12 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: 16000, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 40 | - {fileID: 16002, guid: 0000000000000000f000000000000000, type: 0} 41 | m_PreloadedShaders: [] 42 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 43 | type: 0} 44 | m_CustomRenderPipeline: {fileID: 0} 45 | m_TransparencySortMode: 0 46 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 47 | m_DefaultRenderingPath: 1 48 | m_DefaultMobileRenderingPath: 1 49 | m_TierSettings: [] 50 | m_LightmapStripping: 0 51 | m_FogStripping: 0 52 | m_InstancingStripping: 0 53 | m_LightmapKeepPlain: 1 54 | m_LightmapKeepDirCombined: 1 55 | m_LightmapKeepDynamicPlain: 1 56 | m_LightmapKeepDynamicDirCombined: 1 57 | m_LightmapKeepShadowMask: 1 58 | m_LightmapKeepSubtractive: 1 59 | m_FogKeepLinear: 1 60 | m_FogKeepExp: 1 61 | m_FogKeepExp2: 1 62 | m_AlbedoSwatchInfos: [] 63 | m_LightsUseLinearIntensity: 0 64 | m_LightsUseColorTemperature: 0 65 | -------------------------------------------------------------------------------- /Assets/Materials/LensFlares/LensFlaresOccludie.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: LensFlaresOccludie 10 | m_Shader: {fileID: 4800000, guid: 994460975191f414f98ff29b3c0dff3c, type: 3} 11 | m_ShaderKeywords: ETC1_EXTERNAL_ALPHA 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 | - _AlphaTex: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _BumpMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailAlbedoMap: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailMask: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _DetailNormalMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _EmissionMap: 42 | m_Texture: {fileID: 0} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MainTex: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _MetallicGlossMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _OcclusionMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | - _ParallaxMap: 58 | m_Texture: {fileID: 0} 59 | m_Scale: {x: 1, y: 1} 60 | m_Offset: {x: 0, y: 0} 61 | m_Floats: 62 | - PixelSnap: 0 63 | - _BumpScale: 1 64 | - _Cutoff: 0.5 65 | - _DetailNormalMapScale: 1 66 | - _DstBlend: 0 67 | - _EnableExternalAlpha: 0 68 | - _GlossMapScale: 1 69 | - _Glossiness: 0.5 70 | - _GlossyReflections: 1 71 | - _Metallic: 0 72 | - _Mode: 0 73 | - _OcclusionStrength: 1 74 | - _Parallax: 0.02 75 | - _SmoothnessTextureChannel: 0 76 | - _SpecularHighlights: 1 77 | - _SrcBlend: 1 78 | - _UVSec: 0 79 | - _ZWrite: 1 80 | m_Colors: 81 | - _Color: {r: 1, g: 1, b: 1, a: 1} 82 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 83 | - _Flip: {r: 1, g: 1, b: 1, a: 1} 84 | - _RendererColor: {r: 1, g: 1, b: 1, a: 1} 85 | -------------------------------------------------------------------------------- /Assets/Scripts/UI/MapController.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | #if UNITY_EDITOR 5 | using UnityEditor; 6 | #endif 7 | 8 | [RequireComponent(typeof(GridLayoutGroup))] 9 | public class MapController : MonoBehaviour 10 | { 11 | private const int kEstimatedMapCount = 14; 12 | private static readonly int kBiasPropID = Shader.PropertyToID("_Bias"); 13 | 14 | private struct Map 15 | { 16 | public GameObject gameObject; 17 | public Material material; 18 | } 19 | 20 | [SerializeField] 21 | private RenderTexture _texture; 22 | [SerializeField] 23 | private GameObject _mapPrefab; 24 | [SerializeField] 25 | private float _maxMapSize = 64.0f; 26 | 27 | private List _maps = new List(kEstimatedMapCount); 28 | private RectTransform _rectTransform; 29 | private GridLayoutGroup _layout; 30 | private int _prevWidth, _prevHeight; 31 | 32 | private void Start() 33 | { 34 | _rectTransform = transform as RectTransform; 35 | _layout = GetComponent(); 36 | Reinit(); 37 | } 38 | 39 | #if UNITY_EDITOR 40 | private void LateUpdate() 41 | { 42 | if (_texture.width != _prevWidth || _texture.height != _prevHeight) 43 | { 44 | Clear(); 45 | Reinit(); 46 | } 47 | } 48 | #endif 49 | 50 | private void Clear() 51 | { 52 | for (int i = 0, count = _maps.Count; i < count; ++i) 53 | { 54 | var map = _maps[i]; 55 | Destroy(map.gameObject); 56 | } 57 | _maps.Clear(); 58 | } 59 | 60 | private void Reinit() 61 | { 62 | _prevWidth = _texture.width; 63 | _prevHeight = _texture.height; 64 | int maxSize = Mathf.Max(_prevWidth, _prevHeight); 65 | int maxLevel = Mathf.CeilToInt(Mathf.Log(maxSize, 2.0f)) + 1; 66 | 67 | LayoutRebuilder.ForceRebuildLayoutImmediate(_rectTransform); 68 | float totalHeight = _rectTransform.rect.height; 69 | float totalSpacing = _layout.spacing.y * (maxLevel - 1); 70 | float cellSize = Mathf.Min(Mathf.Floor((totalHeight - totalSpacing) / maxLevel), _maxMapSize); 71 | _layout.cellSize = new Vector2(cellSize, cellSize); 72 | 73 | for (int i = 0; i < maxLevel; ++i) 74 | { 75 | bool isImportant = i == maxLevel - 1; 76 | var map = Instantiate(_mapPrefab, i, isImportant); 77 | _maps.Add(map); 78 | } 79 | } 80 | 81 | private Map Instantiate(GameObject prefab, int index, bool isImportant) 82 | { 83 | var map = Instantiate(prefab, _rectTransform); 84 | var image = map.GetComponentInChildren(); 85 | var material = new Material(image.material); 86 | image.texture = _texture; 87 | image.material = material; 88 | material.SetFloat(kBiasPropID, index); 89 | var text = map.GetComponentInChildren(); 90 | text.text = $"{index}"; 91 | var frame = map.GetComponentInChildren(); 92 | frame.enabled = isImportant; 93 | #if UNITY_EDITOR 94 | image.name = $"{prefab.name}_{index}"; 95 | #endif 96 | return new Map() 97 | { 98 | gameObject = map, 99 | material = material 100 | }; 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /Assets/Shaders/LensFlares/LensFlare.shader: -------------------------------------------------------------------------------- 1 | Shader "+dotsquid/LensFlare/Flare" 2 | { 3 | Properties 4 | { 5 | [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} 6 | _OcclusionMap ("Occlusion Map", any) = "white" {} 7 | _MinLevel ("Min Level", Float) = 0.0 8 | _MaxLevel ("Max Level", Float) = 1.0 9 | } 10 | 11 | SubShader 12 | { 13 | Tags 14 | { 15 | "RenderType" = "Overlay" 16 | } 17 | 18 | Cull Off 19 | Lighting Off 20 | ZWrite Off 21 | Blend One One 22 | ColorMask RGB 23 | 24 | Pass 25 | { 26 | CGPROGRAM 27 | #pragma vertex vert 28 | #pragma fragment frag 29 | #pragma target 2.0 30 | 31 | #include "UnityCG.cginc" 32 | 33 | static const float _AbsLevel = 0.7853; // ratio of circle area to square area 34 | 35 | sampler2D _MainTex; 36 | sampler2D _OcclusionMap; 37 | float4 _MainTex_ST; 38 | float4 _OcclusionMap_TexelSize; 39 | float _MinLevel; 40 | float _MaxLevel; 41 | 42 | struct appdata_t { 43 | float4 vertex : POSITION; 44 | fixed4 color : COLOR; 45 | float2 texcoord : TEXCOORD0; 46 | float4 offset : TEXCOORD1; 47 | UNITY_VERTEX_INPUT_INSTANCE_ID 48 | }; 49 | 50 | struct v2f { 51 | float4 vertex : SV_POSITION; 52 | fixed4 color : COLOR; 53 | float2 texcoord : TEXCOORD0; 54 | float intensity : TEXCOORD1; 55 | UNITY_VERTEX_OUTPUT_STEREO 56 | }; 57 | 58 | float GetIntensity() 59 | { 60 | float mipLevel = log2(max(_OcclusionMap_TexelSize.z, _OcclusionMap_TexelSize.w)); 61 | float4 occlusionUV = float4(0.5, 0.5, 0.0, mipLevel); 62 | fixed occlusion = tex2Dlod(_OcclusionMap, occlusionUV); 63 | float intensity = smoothstep(_MinLevel, _MaxLevel, occlusion / _AbsLevel); 64 | return intensity; 65 | } 66 | 67 | v2f vert (appdata_t v) 68 | { 69 | v2f o; 70 | UNITY_SETUP_INSTANCE_ID(v); 71 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); 72 | 73 | float intensity = GetIntensity(); 74 | 75 | bool canScale = v.offset.z > 0.0; 76 | float randomSeed = v.offset.w; 77 | float3 dir = float3(v.offset.xy, 0.0); 78 | float3 center = v.vertex.xyz - dir; 79 | float scale = canScale ? sqrt(intensity) : 1.0; 80 | float3 offset = dir * scale; 81 | float3 vertex = center + offset; 82 | 83 | o.vertex = UnityObjectToClipPos(vertex); 84 | o.color = v.color; 85 | o.texcoord = v.texcoord; 86 | o.intensity = intensity; 87 | return o; 88 | } 89 | 90 | fixed4 frag (v2f i) : SV_Target 91 | { 92 | fixed4 color = tex2D(_MainTex, i.texcoord) * i.color; 93 | float alpha = i.intensity * i.intensity; 94 | color.rgb *= alpha * color.a; 95 | return color; 96 | } 97 | ENDCG 98 | } 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /Assets/Shaders/Environment/VerticalFog.shader: -------------------------------------------------------------------------------- 1 | Shader "+dotsquid/Sprites/VerticalFog" 2 | { 3 | Properties 4 | { 5 | [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} 6 | _Color ("Tint", Color) = (1,1,1,1) 7 | _FogColor ("Fog Tint", Color) = (1,1,1,1) 8 | _FogTop ("Top fog world position", Float) = 0 9 | _FogBottom ("Bottom fog world position", Float) = 0 10 | [MaterialToggle] PixelSnap ("Pixel snap", Float) = 0 11 | [HideInInspector] _RendererColor ("RendererColor", Color) = (1,1,1,1) 12 | [HideInInspector] _Flip ("Flip", Vector) = (1,1,1,1) 13 | [PerRendererData] _AlphaTex ("External Alpha", 2D) = "white" {} 14 | [PerRendererData] _EnableExternalAlpha ("Enable External Alpha", Float) = 0 15 | } 16 | 17 | SubShader 18 | { 19 | Tags 20 | { 21 | "Queue"="Transparent" 22 | "IgnoreProjector"="True" 23 | "RenderType"="Transparent" 24 | "PreviewType"="Plane" 25 | "CanUseSpriteAtlas"="True" 26 | } 27 | 28 | Cull Off 29 | Lighting Off 30 | ZWrite Off 31 | Blend One OneMinusSrcAlpha 32 | 33 | Pass 34 | { 35 | CGPROGRAM 36 | #pragma vertex vert 37 | #pragma fragment frag 38 | #pragma target 2.0 39 | #pragma multi_compile_instancing 40 | #pragma multi_compile _ PIXELSNAP_ON 41 | #pragma multi_compile _ ETC1_EXTERNAL_ALPHA 42 | #include "UnitySprites.cginc" 43 | 44 | uniform float _Offset; 45 | 46 | fixed4 _FogColor; 47 | float _FogTop; 48 | float _FogBottom; 49 | 50 | struct in_t 51 | { 52 | float4 vertex : POSITION; 53 | float4 color : COLOR; 54 | float2 texcoord : TEXCOORD0; 55 | UNITY_VERTEX_INPUT_INSTANCE_ID 56 | }; 57 | 58 | struct out_t 59 | { 60 | float4 vertex : SV_POSITION; 61 | fixed4 color : COLOR; 62 | float2 texcoord : TEXCOORD0; 63 | float4 worldPos : TEXCOORD1; 64 | UNITY_VERTEX_OUTPUT_STEREO 65 | }; 66 | 67 | out_t vert(in_t IN) 68 | { 69 | out_t OUT; 70 | 71 | UNITY_SETUP_INSTANCE_ID (IN); 72 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT); 73 | 74 | #ifdef UNITY_INSTANCING_ENABLED 75 | IN.vertex.xy *= _Flip.xy; 76 | #endif 77 | 78 | OUT.vertex = UnityObjectToClipPos(IN.vertex); 79 | OUT.texcoord = IN.texcoord; 80 | OUT.color = IN.color * _Color * _RendererColor; 81 | 82 | #ifdef PIXELSNAP_ON 83 | OUT.vertex = UnityPixelSnap (OUT.vertex); 84 | #endif 85 | 86 | OUT.worldPos = mul(unity_ObjectToWorld, IN.vertex); 87 | 88 | return OUT; 89 | } 90 | 91 | fixed4 frag(out_t IN) : SV_Target 92 | { 93 | fixed4 c = SampleSpriteTexture (IN.texcoord) * IN.color; 94 | c.rgb *= c.a; 95 | 96 | float step = smoothstep(_FogBottom, _FogTop, IN.worldPos.y - _Offset); 97 | fixed4 color = lerp(_FogColor, c, step); 98 | c.rgb = color.rgb; 99 | 100 | return c; 101 | } 102 | ENDCG 103 | } 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /Assets/Shaders/UI/MipMapBias.shader: -------------------------------------------------------------------------------- 1 | Shader "+dotsquid/UI/MipMapBias" 2 | { 3 | Properties 4 | { 5 | [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} 6 | _Color ("Tint", Color) = (1,1,1,1) 7 | _Bias ("Bias", float) = 0.0 8 | 9 | _StencilComp ("Stencil Comparison", Float) = 8 10 | _Stencil ("Stencil ID", Float) = 0 11 | _StencilOp ("Stencil Operation", Float) = 0 12 | _StencilWriteMask ("Stencil Write Mask", Float) = 255 13 | _StencilReadMask ("Stencil Read Mask", Float) = 255 14 | 15 | _ColorMask ("Color Mask", Float) = 15 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 | Name "Default" 50 | CGPROGRAM 51 | #pragma vertex vert 52 | #pragma fragment frag 53 | #pragma target 2.0 54 | 55 | #include "UnityCG.cginc" 56 | #include "UnityUI.cginc" 57 | 58 | #pragma multi_compile __ UNITY_UI_ALPHACLIP 59 | 60 | struct appdata_t 61 | { 62 | float4 vertex : POSITION; 63 | float4 color : COLOR; 64 | float2 texcoord : TEXCOORD0; 65 | UNITY_VERTEX_INPUT_INSTANCE_ID 66 | }; 67 | 68 | struct v2f 69 | { 70 | float4 vertex : SV_POSITION; 71 | fixed4 color : COLOR; 72 | float2 texcoord : TEXCOORD0; 73 | float4 worldPosition : TEXCOORD1; 74 | UNITY_VERTEX_OUTPUT_STEREO 75 | }; 76 | 77 | fixed4 _Color; 78 | fixed4 _TextureSampleAdd; 79 | float4 _ClipRect; 80 | float _Bias; 81 | 82 | v2f vert(appdata_t v) 83 | { 84 | v2f OUT; 85 | UNITY_SETUP_INSTANCE_ID(v); 86 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT); 87 | OUT.worldPosition = v.vertex; 88 | OUT.vertex = UnityObjectToClipPos(OUT.worldPosition); 89 | 90 | OUT.vertex = UnityPixelSnap (OUT.vertex); 91 | 92 | OUT.texcoord = v.texcoord; 93 | 94 | OUT.color = v.color * _Color; 95 | return OUT; 96 | } 97 | sampler2D _MainTex; 98 | 99 | fixed4 frag(v2f IN) : SV_Target 100 | { 101 | float4 coords = float4(IN.texcoord, 0.0, _Bias); 102 | half4 color = (tex2Dlod(_MainTex, coords) + _TextureSampleAdd) * IN.color; 103 | color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); 104 | 105 | #ifdef UNITY_UI_ALPHACLIP 106 | clip (color.a - 0.001); 107 | #endif 108 | 109 | return color; 110 | } 111 | ENDCG 112 | } 113 | } 114 | } 115 | -------------------------------------------------------------------------------- /Assets/Fonts/Pixel.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 266fb5d3182431c4a8284e765b898552 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 0 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: 2 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: 0 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 10 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: 1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: 1 77 | textureCompression: 1 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: 1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: tvOS 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: 1 99 | textureCompression: 1 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | - serializedVersion: 2 106 | buildTarget: Android 107 | maxTextureSize: 2048 108 | resizeAlgorithm: 0 109 | textureFormat: 1 110 | textureCompression: 1 111 | compressionQuality: 50 112 | crunchedCompression: 0 113 | allowsAlphaSplitting: 0 114 | overridden: 0 115 | androidETC2FallbackOverride: 0 116 | - serializedVersion: 2 117 | buildTarget: WebGL 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: 1 121 | textureCompression: 1 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | spriteSheet: 128 | serializedVersion: 2 129 | sprites: [] 130 | outline: [] 131 | physicsShape: [] 132 | bones: [] 133 | spriteID: af5c3892012cb714d81598a928e86168 134 | vertices: [] 135 | indices: 136 | edges: [] 137 | weights: [] 138 | spritePackingTag: 139 | pSDRemoveMatte: 0 140 | pSDShowRemoveMatteOption: 0 141 | userData: 142 | assetBundleName: 143 | assetBundleVariant: 144 | -------------------------------------------------------------------------------- /Assets/Sprites/UI/Audio/audio_off.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8268b78e4c3ba594a81670babd46115d 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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: 0 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: 0.2 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 1 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: tvOS 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 1 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | - serializedVersion: 2 106 | buildTarget: Android 107 | maxTextureSize: 2048 108 | resizeAlgorithm: 0 109 | textureFormat: -1 110 | textureCompression: 1 111 | compressionQuality: 50 112 | crunchedCompression: 0 113 | allowsAlphaSplitting: 0 114 | overridden: 0 115 | androidETC2FallbackOverride: 0 116 | - serializedVersion: 2 117 | buildTarget: WebGL 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 1 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | spriteSheet: 128 | serializedVersion: 2 129 | sprites: [] 130 | outline: 131 | - - {x: -110, y: 57} 132 | - {x: -114, y: 51} 133 | - {x: -114, y: -25} 134 | - {x: -111, y: -53} 135 | - {x: -106, y: -51} 136 | - {x: -56, y: -54} 137 | - {x: 5, y: -104} 138 | - {x: 7, y: -104} 139 | - {x: 9, y: -103} 140 | - {x: 9, y: 102} 141 | - {x: 8, y: 104} 142 | - {x: 4, y: 104} 143 | - {x: -48, y: 63} 144 | physicsShape: [] 145 | bones: [] 146 | spriteID: d1604d25e667fb840901f4a7365e6288 147 | vertices: [] 148 | indices: 149 | edges: [] 150 | weights: [] 151 | spritePackingTag: 152 | pSDRemoveMatte: 0 153 | pSDShowRemoveMatteOption: 0 154 | userData: 155 | assetBundleName: 156 | assetBundleVariant: 157 | -------------------------------------------------------------------------------- /Assets/Sprites/UI/Hint/Hint_arrow.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30c46c41a6da8c84581a77076d6aa1b3 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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: 0 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 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 1 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: tvOS 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 1 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | - serializedVersion: 2 106 | buildTarget: Android 107 | maxTextureSize: 2048 108 | resizeAlgorithm: 0 109 | textureFormat: -1 110 | textureCompression: 1 111 | compressionQuality: 50 112 | crunchedCompression: 0 113 | allowsAlphaSplitting: 0 114 | overridden: 0 115 | androidETC2FallbackOverride: 0 116 | - serializedVersion: 2 117 | buildTarget: WebGL 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 1 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | spriteSheet: 128 | serializedVersion: 2 129 | sprites: [] 130 | outline: 131 | - - {x: 28, y: -21.5} 132 | - {x: 44, y: -37.5} 133 | - {x: 60, y: -37.5} 134 | - {x: 64, y: -33.5} 135 | - {x: 64, y: -17.5} 136 | - {x: 9, y: 37.5} 137 | - {x: -9, y: 37.5} 138 | - {x: -64, y: -17.5} 139 | - {x: -64, y: -33.5} 140 | - {x: -60, y: -37.5} 141 | - {x: -44, y: -37.5} 142 | - {x: -39, y: -33.5} 143 | - {x: 0, y: 5.5} 144 | - {x: 27, y: -21.5} 145 | physicsShape: [] 146 | bones: [] 147 | spriteID: d692995386f9b994fa86df30691648bb 148 | vertices: [] 149 | indices: 150 | edges: [] 151 | weights: [] 152 | spritePackingTag: 153 | pSDRemoveMatte: 0 154 | pSDShowRemoveMatteOption: 0 155 | userData: 156 | assetBundleName: 157 | assetBundleVariant: 158 | -------------------------------------------------------------------------------- /Assets/Fonts/Pixel.fontsettings: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!128 &12800000 4 | Font: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: Pixel 10 | serializedVersion: 5 11 | m_LineSpacing: 47.25 12 | m_DefaultMaterial: {fileID: 2100000, guid: 464315d9e68ce41409fb9c3544a8204f, type: 2} 13 | m_FontSize: 42 14 | m_Texture: {fileID: 2800000, guid: 266fb5d3182431c4a8284e765b898552, type: 3} 15 | m_AsciiStartOffset: 0 16 | m_Tracking: 1 17 | m_CharacterSpacing: 0 18 | m_CharacterPadding: 1 19 | m_ConvertCase: 3 20 | m_CharacterRects: 21 | - serializedVersion: 2 22 | index: 48 23 | uv: 24 | serializedVersion: 2 25 | x: 0 26 | y: 0.3046875 27 | width: 0.265625 28 | height: -0.3046875 29 | vert: 30 | serializedVersion: 2 31 | x: 0 32 | y: 38 33 | width: 34 34 | height: -39 35 | advance: 37 36 | flipped: 0 37 | - serializedVersion: 2 38 | index: 49 39 | uv: 40 | serializedVersion: 2 41 | x: 0.265625 42 | y: 0.3046875 43 | width: 0.09375 44 | height: -0.3046875 45 | vert: 46 | serializedVersion: 2 47 | x: 1 48 | y: 38 49 | width: 12 50 | height: -39 51 | advance: 16 52 | flipped: 0 53 | - serializedVersion: 2 54 | index: 50 55 | uv: 56 | serializedVersion: 2 57 | x: 0 58 | y: 0.609375 59 | width: 0.265625 60 | height: -0.3046875 61 | vert: 62 | serializedVersion: 2 63 | x: 0 64 | y: 38 65 | width: 34 66 | height: -39 67 | advance: 37 68 | flipped: 0 69 | - serializedVersion: 2 70 | index: 51 71 | uv: 72 | serializedVersion: 2 73 | x: 0.359375 74 | y: 0.3046875 75 | width: 0.265625 76 | height: -0.3046875 77 | vert: 78 | serializedVersion: 2 79 | x: 0 80 | y: 38 81 | width: 34 82 | height: -39 83 | advance: 37 84 | flipped: 0 85 | - serializedVersion: 2 86 | index: 52 87 | uv: 88 | serializedVersion: 2 89 | x: 0.265625 90 | y: 0.609375 91 | width: 0.265625 92 | height: -0.3046875 93 | vert: 94 | serializedVersion: 2 95 | x: 0 96 | y: 38 97 | width: 34 98 | height: -39 99 | advance: 37 100 | flipped: 0 101 | - serializedVersion: 2 102 | index: 53 103 | uv: 104 | serializedVersion: 2 105 | x: 0 106 | y: 0.9140625 107 | width: 0.265625 108 | height: -0.3046875 109 | vert: 110 | serializedVersion: 2 111 | x: 0 112 | y: 38 113 | width: 34 114 | height: -39 115 | advance: 37 116 | flipped: 0 117 | - serializedVersion: 2 118 | index: 54 119 | uv: 120 | serializedVersion: 2 121 | x: 0.625 122 | y: 0.3046875 123 | width: 0.265625 124 | height: -0.3046875 125 | vert: 126 | serializedVersion: 2 127 | x: 0 128 | y: 38 129 | width: 34 130 | height: -39 131 | advance: 37 132 | flipped: 0 133 | - serializedVersion: 2 134 | index: 55 135 | uv: 136 | serializedVersion: 2 137 | x: 0.53125 138 | y: 0.609375 139 | width: 0.265625 140 | height: -0.3046875 141 | vert: 142 | serializedVersion: 2 143 | x: 0 144 | y: 38 145 | width: 34 146 | height: -39 147 | advance: 37 148 | flipped: 0 149 | - serializedVersion: 2 150 | index: 56 151 | uv: 152 | serializedVersion: 2 153 | x: 0.265625 154 | y: 0.9140625 155 | width: 0.265625 156 | height: -0.3046875 157 | vert: 158 | serializedVersion: 2 159 | x: 0 160 | y: 38 161 | width: 34 162 | height: -39 163 | advance: 37 164 | flipped: 0 165 | - serializedVersion: 2 166 | index: 57 167 | uv: 168 | serializedVersion: 2 169 | x: 0.53125 170 | y: 0.9140625 171 | width: 0.265625 172 | height: -0.3046875 173 | vert: 174 | serializedVersion: 2 175 | x: 0 176 | y: 38 177 | width: 34 178 | height: -39 179 | advance: 37 180 | flipped: 0 181 | m_KerningValues: [] 182 | m_PixelScale: 0.1 183 | m_FontData: 184 | m_Ascent: 36.75 185 | m_Descent: -10.5 186 | m_DefaultStyle: 0 187 | m_FontNames: 188 | - pixelFJ8pt1 189 | - Pixel 190 | m_FallbackFonts: [] 191 | m_FontRenderingMode: 1 192 | m_UseLegacyBoundsCalculation: 0 193 | m_ShouldRoundAdvanceValue: 0 194 | -------------------------------------------------------------------------------- /Assets/Sprites/UI/Hint/Hint_button.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 50aae711b15c04947a89e9043ad33273 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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: 0 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: 0.5 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 1 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: tvOS 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 1 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | - serializedVersion: 2 106 | buildTarget: Android 107 | maxTextureSize: 2048 108 | resizeAlgorithm: 0 109 | textureFormat: -1 110 | textureCompression: 1 111 | compressionQuality: 50 112 | crunchedCompression: 0 113 | allowsAlphaSplitting: 0 114 | overridden: 0 115 | androidETC2FallbackOverride: 0 116 | - serializedVersion: 2 117 | buildTarget: WebGL 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 1 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | spriteSheet: 128 | serializedVersion: 2 129 | sprites: [] 130 | outline: 131 | - - {x: 35.5, y: 88.5} 132 | - {x: 27.5, y: 86.5} 133 | - {x: 18.5, y: 83.5} 134 | - {x: 13.5, y: 81.5} 135 | - {x: 6.5, y: 78.5} 136 | - {x: -3.5, y: 73.5} 137 | - {x: -8.5, y: 70.5} 138 | - {x: -15.5, y: 65.5} 139 | - {x: -36.5, y: 44.5} 140 | - {x: -43.5, y: 35.5} 141 | - {x: -47.5, y: 30.5} 142 | - {x: -51.5, y: 23.5} 143 | - {x: -54.5, y: 16.5} 144 | - {x: -58.5, y: 7.5} 145 | - {x: -62.5, y: -5.5} 146 | - {x: -63.5, y: -9.5} 147 | - {x: -63.5, y: -88.5} 148 | - {x: 63.5, y: -88.5} 149 | - {x: 63.5, y: 88.5} 150 | physicsShape: [] 151 | bones: [] 152 | spriteID: a6ee6fb6452f0ea4b9d277a52d9998d5 153 | vertices: [] 154 | indices: 155 | edges: [] 156 | weights: [] 157 | spritePackingTag: 158 | pSDRemoveMatte: 0 159 | pSDShowRemoveMatteOption: 0 160 | userData: 161 | assetBundleName: 162 | assetBundleVariant: 163 | -------------------------------------------------------------------------------- /Assets/Sprites/UI/Frame_3x3.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f026d7be36a000d49a2fa678cb6e8a99 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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: 0 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: 100 49 | spriteBorder: {x: 2, y: 2, z: 2, w: 2} 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 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: tvOS 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | - serializedVersion: 2 106 | buildTarget: Android 107 | maxTextureSize: 2048 108 | resizeAlgorithm: 0 109 | textureFormat: -1 110 | textureCompression: 0 111 | compressionQuality: 50 112 | crunchedCompression: 0 113 | allowsAlphaSplitting: 0 114 | overridden: 0 115 | androidETC2FallbackOverride: 0 116 | - serializedVersion: 2 117 | buildTarget: Tizen 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 0 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | - serializedVersion: 2 128 | buildTarget: Windows Store Apps 129 | maxTextureSize: 2048 130 | resizeAlgorithm: 0 131 | textureFormat: -1 132 | textureCompression: 0 133 | compressionQuality: 50 134 | crunchedCompression: 0 135 | allowsAlphaSplitting: 0 136 | overridden: 0 137 | androidETC2FallbackOverride: 0 138 | - serializedVersion: 2 139 | buildTarget: WebGL 140 | maxTextureSize: 2048 141 | resizeAlgorithm: 0 142 | textureFormat: -1 143 | textureCompression: 0 144 | compressionQuality: 50 145 | crunchedCompression: 0 146 | allowsAlphaSplitting: 0 147 | overridden: 0 148 | androidETC2FallbackOverride: 0 149 | - serializedVersion: 2 150 | buildTarget: Samsung TV 151 | maxTextureSize: 2048 152 | resizeAlgorithm: 0 153 | textureFormat: -1 154 | textureCompression: 0 155 | compressionQuality: 50 156 | crunchedCompression: 0 157 | allowsAlphaSplitting: 0 158 | overridden: 0 159 | androidETC2FallbackOverride: 0 160 | spriteSheet: 161 | serializedVersion: 2 162 | sprites: [] 163 | outline: [] 164 | physicsShape: [] 165 | bones: [] 166 | spriteID: 17fea22f8556ae04ea371ba93e2516f5 167 | vertices: [] 168 | indices: 169 | edges: [] 170 | weights: [] 171 | spritePackingTag: 172 | pSDRemoveMatte: 0 173 | pSDShowRemoveMatteOption: 0 174 | userData: 175 | assetBundleName: 176 | assetBundleVariant: 177 | -------------------------------------------------------------------------------- /Assets/Sprites/Environment/Background.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e13bb4bfee75d943b63fc4a65113c12 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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: 2 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: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 0 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 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: tvOS 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | - serializedVersion: 2 106 | buildTarget: Android 107 | maxTextureSize: 2048 108 | resizeAlgorithm: 0 109 | textureFormat: -1 110 | textureCompression: 0 111 | compressionQuality: 50 112 | crunchedCompression: 0 113 | allowsAlphaSplitting: 0 114 | overridden: 0 115 | androidETC2FallbackOverride: 2 116 | - serializedVersion: 2 117 | buildTarget: Tizen 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 0 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | - serializedVersion: 2 128 | buildTarget: Windows Store Apps 129 | maxTextureSize: 2048 130 | resizeAlgorithm: 0 131 | textureFormat: -1 132 | textureCompression: 0 133 | compressionQuality: 50 134 | crunchedCompression: 0 135 | allowsAlphaSplitting: 0 136 | overridden: 0 137 | androidETC2FallbackOverride: 0 138 | - serializedVersion: 2 139 | buildTarget: WebGL 140 | maxTextureSize: 2048 141 | resizeAlgorithm: 0 142 | textureFormat: -1 143 | textureCompression: 0 144 | compressionQuality: 50 145 | crunchedCompression: 0 146 | allowsAlphaSplitting: 0 147 | overridden: 0 148 | androidETC2FallbackOverride: 0 149 | - serializedVersion: 2 150 | buildTarget: Samsung TV 151 | maxTextureSize: 2048 152 | resizeAlgorithm: 0 153 | textureFormat: -1 154 | textureCompression: 0 155 | compressionQuality: 50 156 | crunchedCompression: 0 157 | allowsAlphaSplitting: 0 158 | overridden: 0 159 | androidETC2FallbackOverride: 0 160 | spriteSheet: 161 | serializedVersion: 2 162 | sprites: [] 163 | outline: [] 164 | physicsShape: [] 165 | bones: [] 166 | spriteID: cfc15f068e5773447b88cae9d2405038 167 | vertices: [] 168 | indices: 169 | edges: [] 170 | weights: [] 171 | spritePackingTag: 172 | pSDRemoveMatte: 0 173 | pSDShowRemoveMatteOption: 0 174 | userData: 175 | assetBundleName: 176 | assetBundleVariant: 177 | -------------------------------------------------------------------------------- /Assets/Sprites/Environment/Trees/pine_01.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa5d68da3745ad84b94d73194f7ea652 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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: 2 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: 7 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 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: tvOS 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | - serializedVersion: 2 106 | buildTarget: Android 107 | maxTextureSize: 2048 108 | resizeAlgorithm: 0 109 | textureFormat: -1 110 | textureCompression: 0 111 | compressionQuality: 50 112 | crunchedCompression: 0 113 | allowsAlphaSplitting: 0 114 | overridden: 0 115 | androidETC2FallbackOverride: 0 116 | - serializedVersion: 2 117 | buildTarget: Tizen 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 0 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | - serializedVersion: 2 128 | buildTarget: Windows Store Apps 129 | maxTextureSize: 2048 130 | resizeAlgorithm: 0 131 | textureFormat: -1 132 | textureCompression: 0 133 | compressionQuality: 50 134 | crunchedCompression: 0 135 | allowsAlphaSplitting: 0 136 | overridden: 0 137 | androidETC2FallbackOverride: 0 138 | - serializedVersion: 2 139 | buildTarget: WebGL 140 | maxTextureSize: 2048 141 | resizeAlgorithm: 0 142 | textureFormat: -1 143 | textureCompression: 0 144 | compressionQuality: 50 145 | crunchedCompression: 0 146 | allowsAlphaSplitting: 0 147 | overridden: 0 148 | androidETC2FallbackOverride: 0 149 | - serializedVersion: 2 150 | buildTarget: Samsung TV 151 | maxTextureSize: 2048 152 | resizeAlgorithm: 0 153 | textureFormat: -1 154 | textureCompression: 0 155 | compressionQuality: 50 156 | crunchedCompression: 0 157 | allowsAlphaSplitting: 0 158 | overridden: 0 159 | androidETC2FallbackOverride: 0 160 | spriteSheet: 161 | serializedVersion: 2 162 | sprites: [] 163 | outline: [] 164 | physicsShape: [] 165 | bones: [] 166 | spriteID: a601b65f651029546811899b63cf2c2b 167 | vertices: [] 168 | indices: 169 | edges: [] 170 | weights: [] 171 | spritePackingTag: 172 | pSDRemoveMatte: 0 173 | pSDShowRemoveMatteOption: 0 174 | userData: 175 | assetBundleName: 176 | assetBundleVariant: 177 | -------------------------------------------------------------------------------- /Assets/Sprites/Environment/Trees/pine_02.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8a0c009f65a4f947850db96e48a1a77 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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: 2 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: 7 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 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: tvOS 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | - serializedVersion: 2 106 | buildTarget: Android 107 | maxTextureSize: 2048 108 | resizeAlgorithm: 0 109 | textureFormat: -1 110 | textureCompression: 0 111 | compressionQuality: 50 112 | crunchedCompression: 0 113 | allowsAlphaSplitting: 0 114 | overridden: 0 115 | androidETC2FallbackOverride: 0 116 | - serializedVersion: 2 117 | buildTarget: Tizen 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 0 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | - serializedVersion: 2 128 | buildTarget: Windows Store Apps 129 | maxTextureSize: 2048 130 | resizeAlgorithm: 0 131 | textureFormat: -1 132 | textureCompression: 0 133 | compressionQuality: 50 134 | crunchedCompression: 0 135 | allowsAlphaSplitting: 0 136 | overridden: 0 137 | androidETC2FallbackOverride: 0 138 | - serializedVersion: 2 139 | buildTarget: WebGL 140 | maxTextureSize: 2048 141 | resizeAlgorithm: 0 142 | textureFormat: -1 143 | textureCompression: 0 144 | compressionQuality: 50 145 | crunchedCompression: 0 146 | allowsAlphaSplitting: 0 147 | overridden: 0 148 | androidETC2FallbackOverride: 0 149 | - serializedVersion: 2 150 | buildTarget: Samsung TV 151 | maxTextureSize: 2048 152 | resizeAlgorithm: 0 153 | textureFormat: -1 154 | textureCompression: 0 155 | compressionQuality: 50 156 | crunchedCompression: 0 157 | allowsAlphaSplitting: 0 158 | overridden: 0 159 | androidETC2FallbackOverride: 0 160 | spriteSheet: 161 | serializedVersion: 2 162 | sprites: [] 163 | outline: [] 164 | physicsShape: [] 165 | bones: [] 166 | spriteID: 111f5f1d1b8754241999eb4389dc7d87 167 | vertices: [] 168 | indices: 169 | edges: [] 170 | weights: [] 171 | spritePackingTag: 172 | pSDRemoveMatte: 0 173 | pSDShowRemoveMatteOption: 0 174 | userData: 175 | assetBundleName: 176 | assetBundleVariant: 177 | -------------------------------------------------------------------------------- /Assets/Sprites/Environment/Trees/pine_03.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5fa6e5edcf8557d4cb3db11863c4c752 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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: 2 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: 7 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 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: tvOS 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | - serializedVersion: 2 106 | buildTarget: Android 107 | maxTextureSize: 2048 108 | resizeAlgorithm: 0 109 | textureFormat: -1 110 | textureCompression: 0 111 | compressionQuality: 50 112 | crunchedCompression: 0 113 | allowsAlphaSplitting: 0 114 | overridden: 0 115 | androidETC2FallbackOverride: 0 116 | - serializedVersion: 2 117 | buildTarget: Tizen 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 0 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | - serializedVersion: 2 128 | buildTarget: Windows Store Apps 129 | maxTextureSize: 2048 130 | resizeAlgorithm: 0 131 | textureFormat: -1 132 | textureCompression: 0 133 | compressionQuality: 50 134 | crunchedCompression: 0 135 | allowsAlphaSplitting: 0 136 | overridden: 0 137 | androidETC2FallbackOverride: 0 138 | - serializedVersion: 2 139 | buildTarget: WebGL 140 | maxTextureSize: 2048 141 | resizeAlgorithm: 0 142 | textureFormat: -1 143 | textureCompression: 0 144 | compressionQuality: 50 145 | crunchedCompression: 0 146 | allowsAlphaSplitting: 0 147 | overridden: 0 148 | androidETC2FallbackOverride: 0 149 | - serializedVersion: 2 150 | buildTarget: Samsung TV 151 | maxTextureSize: 2048 152 | resizeAlgorithm: 0 153 | textureFormat: -1 154 | textureCompression: 0 155 | compressionQuality: 50 156 | crunchedCompression: 0 157 | allowsAlphaSplitting: 0 158 | overridden: 0 159 | androidETC2FallbackOverride: 0 160 | spriteSheet: 161 | serializedVersion: 2 162 | sprites: [] 163 | outline: [] 164 | physicsShape: [] 165 | bones: [] 166 | spriteID: b51aa4139c179a84a8474664f065bc8c 167 | vertices: [] 168 | indices: 169 | edges: [] 170 | weights: [] 171 | spritePackingTag: 172 | pSDRemoveMatte: 0 173 | pSDShowRemoveMatteOption: 0 174 | userData: 175 | assetBundleName: 176 | assetBundleVariant: 177 | -------------------------------------------------------------------------------- /Assets/Sprites/Environment/Trees/pine_04.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8666162c75828548a2f3c9930c4dd04 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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: 2 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: 7 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 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: tvOS 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | - serializedVersion: 2 106 | buildTarget: Android 107 | maxTextureSize: 2048 108 | resizeAlgorithm: 0 109 | textureFormat: -1 110 | textureCompression: 0 111 | compressionQuality: 50 112 | crunchedCompression: 0 113 | allowsAlphaSplitting: 0 114 | overridden: 0 115 | androidETC2FallbackOverride: 0 116 | - serializedVersion: 2 117 | buildTarget: Tizen 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 0 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | - serializedVersion: 2 128 | buildTarget: Windows Store Apps 129 | maxTextureSize: 2048 130 | resizeAlgorithm: 0 131 | textureFormat: -1 132 | textureCompression: 0 133 | compressionQuality: 50 134 | crunchedCompression: 0 135 | allowsAlphaSplitting: 0 136 | overridden: 0 137 | androidETC2FallbackOverride: 0 138 | - serializedVersion: 2 139 | buildTarget: WebGL 140 | maxTextureSize: 2048 141 | resizeAlgorithm: 0 142 | textureFormat: -1 143 | textureCompression: 0 144 | compressionQuality: 50 145 | crunchedCompression: 0 146 | allowsAlphaSplitting: 0 147 | overridden: 0 148 | androidETC2FallbackOverride: 0 149 | - serializedVersion: 2 150 | buildTarget: Samsung TV 151 | maxTextureSize: 2048 152 | resizeAlgorithm: 0 153 | textureFormat: -1 154 | textureCompression: 0 155 | compressionQuality: 50 156 | crunchedCompression: 0 157 | allowsAlphaSplitting: 0 158 | overridden: 0 159 | androidETC2FallbackOverride: 0 160 | spriteSheet: 161 | serializedVersion: 2 162 | sprites: [] 163 | outline: [] 164 | physicsShape: [] 165 | bones: [] 166 | spriteID: 229926377b7974f42b961afd8d2377a7 167 | vertices: [] 168 | indices: 169 | edges: [] 170 | weights: [] 171 | spritePackingTag: 172 | pSDRemoveMatte: 0 173 | pSDShowRemoveMatteOption: 0 174 | userData: 175 | assetBundleName: 176 | assetBundleVariant: 177 | -------------------------------------------------------------------------------- /Assets/Sprites/UI/Audio/audio_on.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 423b945d79feeb64bb8564550709013f 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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: 0 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: 0.2 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 1 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: tvOS 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 1 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | - serializedVersion: 2 106 | buildTarget: Android 107 | maxTextureSize: 2048 108 | resizeAlgorithm: 0 109 | textureFormat: -1 110 | textureCompression: 1 111 | compressionQuality: 50 112 | crunchedCompression: 0 113 | allowsAlphaSplitting: 0 114 | overridden: 0 115 | androidETC2FallbackOverride: 0 116 | - serializedVersion: 2 117 | buildTarget: WebGL 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 1 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | spriteSheet: 128 | serializedVersion: 2 129 | sprites: [] 130 | outline: 131 | - - {x: -110, y: 57} 132 | - {x: -114, y: 51} 133 | - {x: -114, y: -25} 134 | - {x: -111, y: -53} 135 | - {x: -106, y: -51} 136 | - {x: -56, y: -54} 137 | - {x: 5, y: -104} 138 | - {x: 7, y: -104} 139 | - {x: 9, y: -103} 140 | - {x: 9, y: 102} 141 | - {x: 8, y: 104} 142 | - {x: 4, y: 104} 143 | - {x: -48, y: 63} 144 | - - {x: 111, y: -27} 145 | - {x: 111, y: 20} 146 | - {x: 110, y: 24} 147 | - {x: 99, y: 49} 148 | - {x: 69, y: 79} 149 | - {x: 36, y: 86} 150 | - {x: 18, y: 86} 151 | - {x: 18, y: 71} 152 | - {x: 26, y: 66} 153 | - {x: 47, y: 61} 154 | - {x: 69, y: 53} 155 | - {x: 80, y: 42} 156 | - {x: 85, y: 27} 157 | - {x: 93, y: -11} 158 | - {x: 85, y: -23} 159 | - {x: 68, y: -53} 160 | - {x: 43, y: -61} 161 | - {x: 21, y: -64} 162 | - {x: 18, y: -71} 163 | - {x: 18, y: -83} 164 | - {x: 21, y: -84} 165 | - {x: 42, y: -84} 166 | - {x: 61, y: -79} 167 | - {x: 80, y: -70} 168 | - {x: 103, y: -41} 169 | - - {x: 87, y: 18} 170 | - {x: 86, y: 25} 171 | - {x: 66, y: 47} 172 | - {x: 46, y: 59} 173 | - {x: 19, y: 59} 174 | - {x: 18, y: 54} 175 | - {x: 18, y: 44} 176 | - {x: 35, y: 36} 177 | - {x: 69, y: 8} 178 | - {x: 52, y: -36} 179 | - {x: 20, y: -42} 180 | - {x: 18, y: -47} 181 | - {x: 18, y: -62} 182 | - {x: 41, y: -62} 183 | - {x: 66, y: -51} 184 | - {x: 79, y: -37} 185 | - {x: 87, y: -18} 186 | - - {x: 44, y: 34} 187 | - {x: 18, y: 34} 188 | - {x: 18, y: -11} 189 | - {x: 19, y: -16} 190 | - {x: 18, y: -20} 191 | - {x: 18, y: -32} 192 | - {x: 20, y: -35} 193 | - {x: 41, y: -35} 194 | - {x: 59, y: -21} 195 | - {x: 62, y: -2} 196 | - {x: 62, y: 16} 197 | physicsShape: [] 198 | bones: [] 199 | spriteID: cb0ac0c99c9041041ad4945a47d9257c 200 | vertices: [] 201 | indices: 202 | edges: [] 203 | weights: [] 204 | spritePackingTag: 205 | pSDRemoveMatte: 0 206 | pSDShowRemoveMatteOption: 0 207 | userData: 208 | assetBundleName: 209 | assetBundleVariant: 210 | -------------------------------------------------------------------------------- /Assets/Sprites/UI/Hint/Hint_mouse.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 47eabde564b1e4841b92e448a9ad15a7 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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: 0 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: 0.2 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 1 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: tvOS 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 1 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | - serializedVersion: 2 106 | buildTarget: Android 107 | maxTextureSize: 2048 108 | resizeAlgorithm: 0 109 | textureFormat: -1 110 | textureCompression: 1 111 | compressionQuality: 50 112 | crunchedCompression: 0 113 | allowsAlphaSplitting: 0 114 | overridden: 0 115 | androidETC2FallbackOverride: 0 116 | - serializedVersion: 2 117 | buildTarget: WebGL 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 1 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | spriteSheet: 128 | serializedVersion: 2 129 | sprites: [] 130 | outline: 131 | - - {x: 121.5, y: -202} 132 | - {x: 136.5, y: -180} 133 | - {x: 145.5, y: -160} 134 | - {x: 150.5, y: -149} 135 | - {x: 152.5, y: -138} 136 | - {x: 153.5, y: -133} 137 | - {x: 153.5, y: 133} 138 | - {x: 151.5, y: 142} 139 | - {x: 146.5, y: 161} 140 | - {x: 128.5, y: 195} 141 | - {x: 110.5, y: 215} 142 | - {x: 82.5, y: 237} 143 | - {x: 58.5, y: 249} 144 | - {x: 35.5, y: 256} 145 | - {x: -35.5, y: 256} 146 | - {x: -47.5, y: 254} 147 | - {x: -86.5, y: 236} 148 | - {x: -100.5, y: 223} 149 | - {x: -125.5, y: 198} 150 | - {x: -137.5, y: 180} 151 | - {x: -150.5, y: 149} 152 | - {x: -152.5, y: 138} 153 | - {x: -153.5, y: 133} 154 | - {x: -153.5, y: -134} 155 | - {x: -149.5, y: -150} 156 | - {x: -144.5, y: -166} 157 | - {x: -132.5, y: -188} 158 | - {x: -110.5, y: -215} 159 | - {x: -91.5, y: -230} 160 | - {x: -77.5, y: -240} 161 | - {x: -47.5, y: -253} 162 | - {x: -35.5, y: -256} 163 | - {x: 42.5, y: -256} 164 | - {x: 77.5, y: -240} 165 | - {x: 91.5, y: -230} 166 | - {x: 111.5, y: -213} 167 | - - {x: -49.5, y: -216} 168 | - {x: -79.5, y: -198} 169 | - {x: -95.5, y: -182} 170 | - {x: -113.5, y: -152} 171 | - {x: -123.5, y: -112} 172 | - {x: -124.5, y: -111} 173 | - {x: -124.5, y: 25} 174 | - {x: 124.5, y: 25} 175 | - {x: 124.5, y: -111} 176 | - {x: 123.5, y: -112} 177 | - {x: 121.5, y: -127} 178 | - {x: 114.5, y: -150} 179 | - {x: 102.5, y: -170} 180 | - {x: 78.5, y: -198} 181 | - {x: 62.5, y: -209} 182 | - {x: 47.5, y: -217} 183 | - {x: 9.5, y: -225} 184 | - {x: -10.5, y: -226} 185 | - - {x: -123.5, y: 110} 186 | - {x: -113.5, y: 152} 187 | - {x: -95.5, y: 182} 188 | - {x: -79.5, y: 198} 189 | - {x: -49.5, y: 216} 190 | - {x: -14.5, y: 226} 191 | - {x: -14.5, y: 57} 192 | - {x: -124.5, y: 57} 193 | - - {x: 17.5, y: 225} 194 | - {x: 48.5, y: 215} 195 | - {x: 79.5, y: 198} 196 | - {x: 95.5, y: 182} 197 | - {x: 113.5, y: 152} 198 | - {x: 123.5, y: 112} 199 | - {x: 124.5, y: 57} 200 | - {x: 17.5, y: 57} 201 | physicsShape: [] 202 | bones: [] 203 | spriteID: 88e17e35b7300ad48b21245c87653e84 204 | vertices: [] 205 | indices: 206 | edges: [] 207 | weights: [] 208 | spritePackingTag: 209 | pSDRemoveMatte: 0 210 | pSDShowRemoveMatteOption: 0 211 | userData: 212 | assetBundleName: 213 | assetBundleVariant: 214 | -------------------------------------------------------------------------------- /Assets/Sprites/Environment/Sun.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2278e83e73502ac48ab005d702057597 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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: 0 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: 0.5 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 1 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: tvOS 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 1 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | - serializedVersion: 2 106 | buildTarget: Android 107 | maxTextureSize: 2048 108 | resizeAlgorithm: 0 109 | textureFormat: -1 110 | textureCompression: 1 111 | compressionQuality: 50 112 | crunchedCompression: 0 113 | allowsAlphaSplitting: 0 114 | overridden: 0 115 | androidETC2FallbackOverride: 0 116 | - serializedVersion: 2 117 | buildTarget: WebGL 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 1 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | spriteSheet: 128 | serializedVersion: 2 129 | sprites: [] 130 | outline: 131 | - - {x: 52, y: -118} 132 | - {x: 58, y: -114} 133 | - {x: 60, y: -114} 134 | - {x: 69, y: -109} 135 | - {x: 75, y: -105} 136 | - {x: 82, y: -98} 137 | - {x: 84, y: -98} 138 | - {x: 98, y: -84} 139 | - {x: 98, y: -82} 140 | - {x: 105, y: -74} 141 | - {x: 109, y: -68} 142 | - {x: 114, y: -60} 143 | - {x: 118, y: -52} 144 | - {x: 124, y: -34} 145 | - {x: 126, y: -26} 146 | - {x: 127, y: -20} 147 | - {x: 128, y: -12} 148 | - {x: 128, y: 11} 149 | - {x: 127, y: 19} 150 | - {x: 126, y: 25} 151 | - {x: 124, y: 33} 152 | - {x: 122, y: 40} 153 | - {x: 118, y: 50} 154 | - {x: 112, y: 63} 155 | - {x: 106, y: 73} 156 | - {x: 102, y: 77} 157 | - {x: 98, y: 82} 158 | - {x: 83, y: 97} 159 | - {x: 78, y: 101} 160 | - {x: 72, y: 106} 161 | - {x: 69, y: 108} 162 | - {x: 64, y: 111} 163 | - {x: 46, y: 119} 164 | - {x: 40, y: 121} 165 | - {x: 30, y: 124} 166 | - {x: 26, y: 125} 167 | - {x: 20, y: 126} 168 | - {x: 12, y: 127} 169 | - {x: -11, y: 127} 170 | - {x: -19, y: 126} 171 | - {x: -25, y: 125} 172 | - {x: -33, y: 123} 173 | - {x: -48, y: 118} 174 | - {x: -65, y: 110} 175 | - {x: -67, y: 108} 176 | - {x: -70, y: 106} 177 | - {x: -77, y: 102} 178 | - {x: -97, y: 82} 179 | - {x: -102, y: 76} 180 | - {x: -110, y: 65} 181 | - {x: -119, y: 45} 182 | - {x: -121, y: 39} 183 | - {x: -124, y: 29} 184 | - {x: -125, y: 25} 185 | - {x: -126, y: 19} 186 | - {x: -127, y: 11} 187 | - {x: -127, y: -12} 188 | - {x: -126, y: -20} 189 | - {x: -125, y: -26} 190 | - {x: -123, y: -34} 191 | - {x: -119, y: -46} 192 | - {x: -117, y: -51} 193 | - {x: -111, y: -64} 194 | - {x: -108, y: -69} 195 | - {x: -106, y: -72} 196 | - {x: -101, y: -78} 197 | - {x: -97, y: -83} 198 | - {x: -82, y: -98} 199 | - {x: -73, y: -106} 200 | - {x: -63, y: -112} 201 | - {x: -50, y: -118} 202 | - {x: -40, y: -122} 203 | - {x: -33, y: -124} 204 | - {x: -25, y: -126} 205 | - {x: -19, y: -127} 206 | - {x: -11, y: -128} 207 | - {x: 12, y: -128} 208 | - {x: 20, y: -127} 209 | - {x: 26, y: -126} 210 | - {x: 34, y: -124} 211 | physicsShape: [] 212 | bones: [] 213 | spriteID: e9b697e2874cfa546bfbb95b9ebcaf05 214 | vertices: [] 215 | indices: 216 | edges: [] 217 | weights: [] 218 | spritePackingTag: 219 | pSDRemoveMatte: 0 220 | pSDShowRemoveMatteOption: 0 221 | userData: 222 | assetBundleName: 223 | assetBundleVariant: 224 | -------------------------------------------------------------------------------- /Assets/Sprites/Environment/Trees/pine_00.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 921bef3eac74f4b4aa8fb11b5b0033c0 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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: 2 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: 7 47 | spritePivot: {x: 0.5, y: 0} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: 0 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 0 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | - serializedVersion: 2 84 | buildTarget: iPhone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 0 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | androidETC2FallbackOverride: 0 94 | - serializedVersion: 2 95 | buildTarget: tvOS 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 0 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | - serializedVersion: 2 106 | buildTarget: Android 107 | maxTextureSize: 2048 108 | resizeAlgorithm: 0 109 | textureFormat: -1 110 | textureCompression: 0 111 | compressionQuality: 50 112 | crunchedCompression: 0 113 | allowsAlphaSplitting: 0 114 | overridden: 0 115 | androidETC2FallbackOverride: 0 116 | - serializedVersion: 2 117 | buildTarget: Tizen 118 | maxTextureSize: 2048 119 | resizeAlgorithm: 0 120 | textureFormat: -1 121 | textureCompression: 0 122 | compressionQuality: 50 123 | crunchedCompression: 0 124 | allowsAlphaSplitting: 0 125 | overridden: 0 126 | androidETC2FallbackOverride: 0 127 | - serializedVersion: 2 128 | buildTarget: Windows Store Apps 129 | maxTextureSize: 2048 130 | resizeAlgorithm: 0 131 | textureFormat: -1 132 | textureCompression: 0 133 | compressionQuality: 50 134 | crunchedCompression: 0 135 | allowsAlphaSplitting: 0 136 | overridden: 0 137 | androidETC2FallbackOverride: 0 138 | - serializedVersion: 2 139 | buildTarget: WebGL 140 | maxTextureSize: 2048 141 | resizeAlgorithm: 0 142 | textureFormat: -1 143 | textureCompression: 0 144 | compressionQuality: 50 145 | crunchedCompression: 0 146 | allowsAlphaSplitting: 0 147 | overridden: 0 148 | androidETC2FallbackOverride: 0 149 | - serializedVersion: 2 150 | buildTarget: Samsung TV 151 | maxTextureSize: 2048 152 | resizeAlgorithm: 0 153 | textureFormat: -1 154 | textureCompression: 0 155 | compressionQuality: 50 156 | crunchedCompression: 0 157 | allowsAlphaSplitting: 0 158 | overridden: 0 159 | androidETC2FallbackOverride: 0 160 | spriteSheet: 161 | serializedVersion: 2 162 | sprites: [] 163 | outline: 164 | - - {x: 666.5, y: -750} 165 | - {x: 730.5, y: -677} 166 | - {x: 641.5, y: -623} 167 | - {x: 774.5, y: -566} 168 | - {x: 774.5, y: -464} 169 | - {x: 541.5, y: -505} 170 | - {x: 522.5, y: -395} 171 | - {x: 713.5, y: -250} 172 | - {x: 733.5, y: -142} 173 | - {x: 628.5, y: -159} 174 | - {x: 558.5, y: -94} 175 | - {x: 574.5, y: 40} 176 | - {x: 317.5, y: -38} 177 | - {x: 352.5, y: 50} 178 | - {x: 476.5, y: 111} 179 | - {x: 453.5, y: 173} 180 | - {x: 344.5, y: 170} 181 | - {x: 394.5, y: 314} 182 | - {x: 327.5, y: 508} 183 | - {x: 257.5, y: 641} 184 | - {x: 175.5, y: 832} 185 | - {x: 73.5, y: 1000} 186 | - {x: -119.5, y: 1000} 187 | - {x: -209.5, y: 886} 188 | - {x: -238.5, y: 755} 189 | - {x: -278.5, y: 684} 190 | - {x: -343.5, y: 692} 191 | - {x: -296.5, y: 577} 192 | - {x: -329.5, y: 508} 193 | - {x: -330.5, y: 396} 194 | - {x: -401.5, y: 412} 195 | - {x: -381.5, y: 270} 196 | - {x: -472.5, y: 310} 197 | - {x: -495.5, y: 235} 198 | - {x: -424.5, y: 189} 199 | - {x: -475.5, y: 54} 200 | - {x: -573.5, y: -2} 201 | - {x: -484.5, y: -97} 202 | - {x: -544.5, y: -224} 203 | - {x: -730.5, y: -207} 204 | - {x: -774.5, y: -459} 205 | - {x: -774.5, y: -567} 206 | - {x: -748.5, y: -644} 207 | - {x: -527.5, y: -740} 208 | - {x: -424.51337, y: -827.7919} 209 | - {x: -110.5, y: -866} 210 | - {x: -118.5, y: -1000} 211 | - {x: 23.5, y: -1000} 212 | - {x: 15.5, y: -821} 213 | - {x: 158.5, y: -855} 214 | - {x: 236.5, y: -789} 215 | - {x: 349.5, y: -863} 216 | - {x: 553.5, y: -777} 217 | physicsShape: [] 218 | bones: [] 219 | spriteID: df21751cdaad8b748b0912365b874e3b 220 | vertices: [] 221 | indices: 222 | edges: [] 223 | weights: [] 224 | spritePackingTag: 225 | pSDRemoveMatte: 0 226 | pSDShowRemoveMatteOption: 0 227 | userData: 228 | assetBundleName: 229 | assetBundleVariant: 230 | -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: 0.001 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: 0.001 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: 0.001 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: 0.001 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left shift 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: 0.001 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: 0.001 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: 0.1 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: 0.1 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: 0.1 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: 0.19 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: 0.19 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: 0.001 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: 0.001 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: 0.001 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: 0.001 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: 0.001 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: 0.001 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: 0.001 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /Assets/Scripts/LensFlares/LensFlares.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | #if UNITY_EDITOR 5 | using UnityEditor; 6 | #endif 7 | 8 | using Random = UnityEngine.Random; 9 | 10 | public class LensFlares : MonoBehaviour 11 | { 12 | private class Flare 13 | { 14 | private const string kMeshName = "Flare Quad"; 15 | private const string kObjectName = "Flare #{0}"; 16 | 17 | private static readonly int kMainTexPropId = Shader.PropertyToID("_MainTex"); 18 | private static readonly Vector3 kForward = Vector3.forward; 19 | 20 | private Mesh _mesh; 21 | private MeshFilter _filter; 22 | private MeshRenderer _renderer; 23 | private MaterialPropertyBlock _propBlock; 24 | private GameObject _self; 25 | private Transform _transform; 26 | private Transform _ownerTransform; 27 | private LensFlares _owner; 28 | private FlarePreset _preset; 29 | 30 | private Vector3 localScale 31 | { 32 | get 33 | { 34 | float size = _preset.size; 35 | return new Vector3(size, size, 1.0f); 36 | } 37 | } 38 | 39 | public Flare(LensFlares owner, int index) 40 | { 41 | var flares = owner._presets.presets; 42 | _preset = flares[index]; 43 | _owner = owner; 44 | _ownerTransform = owner.transform; 45 | CreateObject(index); 46 | ApplyParams(); 47 | GenerateMesh(); 48 | Update(); 49 | } 50 | 51 | public void Refresh() 52 | { 53 | ApplyParams(); 54 | GenerateMesh(); 55 | } 56 | 57 | public void Clear() 58 | { 59 | if (_self != null) 60 | { 61 | Destroy(_self); 62 | } 63 | } 64 | 65 | public void Update() 66 | { 67 | Vector2 lightPosition = _ownerTransform.position; 68 | Vector2 cameraPosition = _owner._cameraTransform.position; 69 | cameraPosition += _owner._cameraOffset; 70 | Vector2 position = Vector2.LerpUnclamped(lightPosition, cameraPosition, _preset.position); 71 | 72 | //if (_preset.align) 73 | //{ 74 | // var direction = position - lightPosition; 75 | // direction = direction.Rotate(_preset.startAngle); 76 | // var rotation = Quaternion.LookRotation(kForward, direction); 77 | // _transform.SetPositionAndRotation(position, rotation); 78 | //} 79 | //else 80 | { 81 | _transform.position = position; 82 | } 83 | } 84 | 85 | private void CreateObject(int index) 86 | { 87 | string name = string.Format(kObjectName, index); 88 | _self = new GameObject(name, typeof(MeshFilter), typeof(MeshRenderer)); 89 | _transform = _self.transform; 90 | _transform.SetParent(_ownerTransform); 91 | _filter = _self.GetComponent(); 92 | _renderer = _self.GetComponent(); 93 | _renderer.receiveShadows = false; 94 | _renderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; 95 | _renderer.lightProbeUsage = UnityEngine.Rendering.LightProbeUsage.Off; 96 | _renderer.motionVectorGenerationMode = MotionVectorGenerationMode.ForceNoMotion; 97 | } 98 | 99 | private void ApplyParams() 100 | { 101 | _transform.localScale = localScale; 102 | _renderer.sharedMaterial = _owner._material; 103 | _renderer.sortingOrder = _owner._sortingOrder; 104 | UpdateMaterialPropertyBlock(); 105 | } 106 | 107 | private void GenerateMesh() 108 | { 109 | if (null == _mesh) 110 | { 111 | _mesh = new Mesh(); 112 | _mesh.name = kMeshName; 113 | _filter.sharedMesh = _mesh; 114 | } 115 | 116 | var color = _preset.color; 117 | var sprite = _preset.sprite; 118 | if (null != sprite) 119 | { 120 | ushort[] spriteTriangles = sprite.triangles; 121 | int[] meshTriangles = Array.ConvertAll(spriteTriangles, (i) => (int)i); 122 | Vector2[] spriteUVs = sprite.uv; 123 | Vector2[] spriteVertices = sprite.vertices; 124 | Vector3[] meshVertices = Array.ConvertAll(spriteVertices, (pos) => (Vector3)pos); 125 | Vector2 spriteCenter = sprite.bounds.center; 126 | 127 | float randomSeed = Random.value; 128 | var scale = Vector3.Scale(_ownerTransform.lossyScale, localScale); 129 | Vector4[] offsets = Array.ConvertAll(spriteVertices, (pos) => 130 | { 131 | Vector4 offset = Vector2.Scale(pos - spriteCenter, scale); 132 | offset.z = _preset.align ? 0.0f : 1.0f; 133 | offset.w = randomSeed; 134 | return offset; 135 | }); 136 | Color[] colors = Array.ConvertAll(spriteUVs, (uv) => color); 137 | 138 | _mesh.vertices = meshVertices; 139 | _mesh.triangles = meshTriangles; 140 | _mesh.uv = spriteUVs; 141 | _mesh.SetUVs(1, new List(offsets)); 142 | _mesh.colors = colors; 143 | _mesh.RecalculateBounds(); 144 | } 145 | } 146 | 147 | private void UpdateMaterialPropertyBlock() 148 | { 149 | if (_propBlock == null) 150 | _propBlock = new MaterialPropertyBlock(); 151 | 152 | if (_renderer != null && _preset != null && _preset.sprite !=null) 153 | { 154 | _renderer.GetPropertyBlock(_propBlock); 155 | _propBlock.SetTexture(kMainTexPropId, _preset.sprite.texture); 156 | _renderer.SetPropertyBlock(_propBlock); 157 | } 158 | } 159 | } 160 | 161 | [Serializable] 162 | public class FlarePreset 163 | { 164 | public Sprite sprite; 165 | public Color color = Color.white; 166 | public float size = 1.0f; 167 | public float position = 0.0f; 168 | public bool align = true; 169 | public float startAngle = 0.0f; 170 | } 171 | 172 | [SerializeField] 173 | private Transform _cameraTransform; 174 | [SerializeField] 175 | private Vector2 _cameraOffset = Vector2.zero; 176 | [SerializeField] 177 | private Material _material; 178 | [SerializeField] 179 | private int _sortingOrder; 180 | [SerializeField] 181 | private LensFlaresPreset _presets; 182 | 183 | private List _flares; 184 | 185 | private void Awake() 186 | { 187 | CreateFlares(); 188 | SubscribePresets(); 189 | } 190 | 191 | private void OnDestroy() 192 | { 193 | UnsubscribePresets(); 194 | } 195 | 196 | private void OnValidate() 197 | { 198 | #if UNITY_EDITOR 199 | if (EditorApplication.isPlaying) 200 | { 201 | RecreateFlares(); 202 | } 203 | #endif 204 | } 205 | 206 | private void LateUpdate() 207 | { 208 | UpdateFlares(); 209 | } 210 | 211 | private void CreateFlares() 212 | { 213 | int count = _presets.presets.Length; 214 | 215 | if (_flares != null) 216 | { 217 | for (int i = 0, flareCount = _flares.Count; i < flareCount; ++i) 218 | { 219 | _flares[i].Clear(); 220 | } 221 | _flares.Clear(); 222 | } 223 | else 224 | { 225 | _flares = new List(count); 226 | } 227 | 228 | for (int i = 0; i < count; ++i) 229 | { 230 | var flare = new Flare(this, i); 231 | _flares.Add(flare); 232 | } 233 | } 234 | 235 | private void RefreshFlares() 236 | { 237 | if (_flares == null) 238 | return; 239 | 240 | for (int i = 0, count = _flares.Count; i < count; ++i) 241 | { 242 | _flares[i].Refresh(); 243 | } 244 | } 245 | 246 | private void RecreateFlares() 247 | { 248 | if (_flares == null) 249 | return; 250 | 251 | CreateFlares(); 252 | } 253 | 254 | private void UpdateFlares() 255 | { 256 | for (int i = 0, count = _flares.Count; i < count; ++i) 257 | { 258 | _flares[i].Update(); 259 | } 260 | } 261 | 262 | private void SubscribePresets() 263 | { 264 | if (_presets) 265 | _presets.onValidate += OnValidate; 266 | } 267 | 268 | private void UnsubscribePresets() 269 | { 270 | if (_presets) 271 | _presets.onValidate -= OnValidate; 272 | } 273 | } 274 | -------------------------------------------------------------------------------- /Assets/Prefabs/OcclusionMap.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &5306223509762840373 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: 6545395830251553561} 12 | - component: {fileID: 768109001098786471} 13 | - component: {fileID: 3777469695332057654} 14 | m_Layer: 0 15 | m_Name: Map 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!224 &6545395830251553561 22 | RectTransform: 23 | m_ObjectHideFlags: 0 24 | m_CorrespondingSourceObject: {fileID: 0} 25 | m_PrefabInstance: {fileID: 0} 26 | m_PrefabAsset: {fileID: 0} 27 | m_GameObject: {fileID: 5306223509762840373} 28 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 29 | m_LocalPosition: {x: 0, y: 0, z: 0} 30 | m_LocalScale: {x: 1, y: 1, z: 1} 31 | m_Children: [] 32 | m_Father: {fileID: 7220050944701527954} 33 | m_RootOrder: 0 34 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 35 | m_AnchorMin: {x: 0, y: 0} 36 | m_AnchorMax: {x: 1, y: 1} 37 | m_AnchoredPosition: {x: 0, y: 0} 38 | m_SizeDelta: {x: 0, y: 0} 39 | m_Pivot: {x: 0.5, y: 0.5} 40 | --- !u!222 &768109001098786471 41 | CanvasRenderer: 42 | m_ObjectHideFlags: 0 43 | m_CorrespondingSourceObject: {fileID: 0} 44 | m_PrefabInstance: {fileID: 0} 45 | m_PrefabAsset: {fileID: 0} 46 | m_GameObject: {fileID: 5306223509762840373} 47 | m_CullTransparentMesh: 0 48 | --- !u!114 &3777469695332057654 49 | MonoBehaviour: 50 | m_ObjectHideFlags: 0 51 | m_CorrespondingSourceObject: {fileID: 0} 52 | m_PrefabInstance: {fileID: 0} 53 | m_PrefabAsset: {fileID: 0} 54 | m_GameObject: {fileID: 5306223509762840373} 55 | m_Enabled: 1 56 | m_EditorHideFlags: 0 57 | m_Script: {fileID: -98529514, guid: f70555f144d8491a825f0804e09c671c, type: 3} 58 | m_Name: 59 | m_EditorClassIdentifier: 60 | m_Material: {fileID: 2100000, guid: 0cb57c019a79c494684e96e63d3f3d96, type: 2} 61 | m_Color: {r: 1, g: 1, b: 1, a: 1} 62 | m_RaycastTarget: 0 63 | m_OnCullStateChanged: 64 | m_PersistentCalls: 65 | m_Calls: [] 66 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 67 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 68 | m_Texture: {fileID: 8400000, guid: 4dc1024a3865a7e4d9b3b6723cf4b247, type: 2} 69 | m_UVRect: 70 | serializedVersion: 2 71 | x: 0 72 | y: 0 73 | width: 1 74 | height: 1 75 | --- !u!1 &5645976313782707962 76 | GameObject: 77 | m_ObjectHideFlags: 0 78 | m_CorrespondingSourceObject: {fileID: 0} 79 | m_PrefabInstance: {fileID: 0} 80 | m_PrefabAsset: {fileID: 0} 81 | serializedVersion: 6 82 | m_Component: 83 | - component: {fileID: 6190598366081733583} 84 | - component: {fileID: 4028066589854437192} 85 | - component: {fileID: 6156456298762986792} 86 | m_Layer: 0 87 | m_Name: Text 88 | m_TagString: Untagged 89 | m_Icon: {fileID: 0} 90 | m_NavMeshLayer: 0 91 | m_StaticEditorFlags: 0 92 | m_IsActive: 1 93 | --- !u!224 &6190598366081733583 94 | RectTransform: 95 | m_ObjectHideFlags: 0 96 | m_CorrespondingSourceObject: {fileID: 0} 97 | m_PrefabInstance: {fileID: 0} 98 | m_PrefabAsset: {fileID: 0} 99 | m_GameObject: {fileID: 5645976313782707962} 100 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 101 | m_LocalPosition: {x: 0, y: 0, z: 0} 102 | m_LocalScale: {x: 1, y: 1, z: 1} 103 | m_Children: [] 104 | m_Father: {fileID: 7220050944701527954} 105 | m_RootOrder: 2 106 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 107 | m_AnchorMin: {x: 1, y: 0} 108 | m_AnchorMax: {x: 1, y: 0} 109 | m_AnchoredPosition: {x: -1, y: 0} 110 | m_SizeDelta: {x: 0, y: 0} 111 | m_Pivot: {x: 1, y: 0} 112 | --- !u!222 &4028066589854437192 113 | CanvasRenderer: 114 | m_ObjectHideFlags: 0 115 | m_CorrespondingSourceObject: {fileID: 0} 116 | m_PrefabInstance: {fileID: 0} 117 | m_PrefabAsset: {fileID: 0} 118 | m_GameObject: {fileID: 5645976313782707962} 119 | m_CullTransparentMesh: 0 120 | --- !u!114 &6156456298762986792 121 | MonoBehaviour: 122 | m_ObjectHideFlags: 0 123 | m_CorrespondingSourceObject: {fileID: 0} 124 | m_PrefabInstance: {fileID: 0} 125 | m_PrefabAsset: {fileID: 0} 126 | m_GameObject: {fileID: 5645976313782707962} 127 | m_Enabled: 1 128 | m_EditorHideFlags: 0 129 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 130 | m_Name: 131 | m_EditorClassIdentifier: 132 | m_Material: {fileID: 0} 133 | m_Color: {r: 1, g: 1, b: 1, a: 1} 134 | m_RaycastTarget: 0 135 | m_OnCullStateChanged: 136 | m_PersistentCalls: 137 | m_Calls: [] 138 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 139 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 140 | m_FontData: 141 | m_Font: {fileID: 12800000, guid: 06db6e7c750d3464990223c74f0f92a2, type: 2} 142 | m_FontSize: 8 143 | m_FontStyle: 0 144 | m_BestFit: 0 145 | m_MinSize: 1 146 | m_MaxSize: 42 147 | m_Alignment: 8 148 | m_AlignByGeometry: 0 149 | m_RichText: 1 150 | m_HorizontalOverflow: 1 151 | m_VerticalOverflow: 1 152 | m_LineSpacing: 1 153 | m_Text: 123456 154 | --- !u!1 &7220050944701527955 155 | GameObject: 156 | m_ObjectHideFlags: 0 157 | m_CorrespondingSourceObject: {fileID: 0} 158 | m_PrefabInstance: {fileID: 0} 159 | m_PrefabAsset: {fileID: 0} 160 | serializedVersion: 6 161 | m_Component: 162 | - component: {fileID: 7220050944701527954} 163 | - component: {fileID: 7220050944701527964} 164 | m_Layer: 0 165 | m_Name: OcclusionMap 166 | m_TagString: Untagged 167 | m_Icon: {fileID: 0} 168 | m_NavMeshLayer: 0 169 | m_StaticEditorFlags: 0 170 | m_IsActive: 1 171 | --- !u!224 &7220050944701527954 172 | RectTransform: 173 | m_ObjectHideFlags: 0 174 | m_CorrespondingSourceObject: {fileID: 0} 175 | m_PrefabInstance: {fileID: 0} 176 | m_PrefabAsset: {fileID: 0} 177 | m_GameObject: {fileID: 7220050944701527955} 178 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 179 | m_LocalPosition: {x: 0, y: 0, z: 0} 180 | m_LocalScale: {x: 1, y: 1, z: 1} 181 | m_Children: 182 | - {fileID: 6545395830251553561} 183 | - {fileID: 7220050945259310094} 184 | - {fileID: 6190598366081733583} 185 | m_Father: {fileID: 0} 186 | m_RootOrder: 0 187 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 188 | m_AnchorMin: {x: 0, y: 0} 189 | m_AnchorMax: {x: 0, y: 0} 190 | m_AnchoredPosition: {x: 0, y: 0} 191 | m_SizeDelta: {x: 0, y: 0} 192 | m_Pivot: {x: 0.5, y: 0.5} 193 | --- !u!222 &7220050944701527964 194 | CanvasRenderer: 195 | m_ObjectHideFlags: 0 196 | m_CorrespondingSourceObject: {fileID: 0} 197 | m_PrefabInstance: {fileID: 0} 198 | m_PrefabAsset: {fileID: 0} 199 | m_GameObject: {fileID: 7220050944701527955} 200 | m_CullTransparentMesh: 0 201 | --- !u!1 &7220050945259310095 202 | GameObject: 203 | m_ObjectHideFlags: 0 204 | m_CorrespondingSourceObject: {fileID: 0} 205 | m_PrefabInstance: {fileID: 0} 206 | m_PrefabAsset: {fileID: 0} 207 | serializedVersion: 6 208 | m_Component: 209 | - component: {fileID: 7220050945259310094} 210 | - component: {fileID: 7220050945259310088} 211 | - component: {fileID: 7220050945259310089} 212 | - component: {fileID: 2970886788564505133} 213 | m_Layer: 0 214 | m_Name: Frame 215 | m_TagString: Untagged 216 | m_Icon: {fileID: 0} 217 | m_NavMeshLayer: 0 218 | m_StaticEditorFlags: 0 219 | m_IsActive: 1 220 | --- !u!224 &7220050945259310094 221 | RectTransform: 222 | m_ObjectHideFlags: 0 223 | m_CorrespondingSourceObject: {fileID: 0} 224 | m_PrefabInstance: {fileID: 0} 225 | m_PrefabAsset: {fileID: 0} 226 | m_GameObject: {fileID: 7220050945259310095} 227 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 228 | m_LocalPosition: {x: 0, y: 0, z: 0} 229 | m_LocalScale: {x: 1, y: 1, z: 1} 230 | m_Children: [] 231 | m_Father: {fileID: 7220050944701527954} 232 | m_RootOrder: 1 233 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 234 | m_AnchorMin: {x: 0, y: 0} 235 | m_AnchorMax: {x: 1, y: 1} 236 | m_AnchoredPosition: {x: 0, y: 0} 237 | m_SizeDelta: {x: 2, y: 2} 238 | m_Pivot: {x: 0.5, y: 0.5} 239 | --- !u!222 &7220050945259310088 240 | CanvasRenderer: 241 | m_ObjectHideFlags: 0 242 | m_CorrespondingSourceObject: {fileID: 0} 243 | m_PrefabInstance: {fileID: 0} 244 | m_PrefabAsset: {fileID: 0} 245 | m_GameObject: {fileID: 7220050945259310095} 246 | m_CullTransparentMesh: 0 247 | --- !u!114 &7220050945259310089 248 | MonoBehaviour: 249 | m_ObjectHideFlags: 0 250 | m_CorrespondingSourceObject: {fileID: 0} 251 | m_PrefabInstance: {fileID: 0} 252 | m_PrefabAsset: {fileID: 0} 253 | m_GameObject: {fileID: 7220050945259310095} 254 | m_Enabled: 1 255 | m_EditorHideFlags: 0 256 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 257 | m_Name: 258 | m_EditorClassIdentifier: 259 | m_Material: {fileID: 0} 260 | m_Color: {r: 1, g: 1, b: 1, a: 0.7529412} 261 | m_RaycastTarget: 0 262 | m_OnCullStateChanged: 263 | m_PersistentCalls: 264 | m_Calls: [] 265 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 266 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 267 | m_Sprite: {fileID: 21300000, guid: f026d7be36a000d49a2fa678cb6e8a99, type: 3} 268 | m_Type: 1 269 | m_PreserveAspect: 0 270 | m_FillCenter: 0 271 | m_FillMethod: 4 272 | m_FillAmount: 1 273 | m_FillClockwise: 1 274 | m_FillOrigin: 0 275 | m_UseSpriteMesh: 0 276 | --- !u!114 &2970886788564505133 277 | MonoBehaviour: 278 | m_ObjectHideFlags: 0 279 | m_CorrespondingSourceObject: {fileID: 0} 280 | m_PrefabInstance: {fileID: 0} 281 | m_PrefabAsset: {fileID: 0} 282 | m_GameObject: {fileID: 7220050945259310095} 283 | m_Enabled: 0 284 | m_EditorHideFlags: 0 285 | m_Script: {fileID: 11500000, guid: be04b5a5d170a4945b4e29b9080b7398, type: 3} 286 | m_Name: 287 | m_EditorClassIdentifier: 288 | _highlight: {r: 1, g: 0, b: 0, a: 1} 289 | _frequency: 4 290 | -------------------------------------------------------------------------------- /Assets/Sprites/LensFlares.psd.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 489dd4207328bfb4f8d95476963513a6 3 | TextureImporter: 4 | fileIDToRecycleName: 5 | 21300000: LensFlare_0 6 | 21300002: LensFlare_1 7 | 21300004: LensFlare_2 8 | 21300006: LensFlare_3 9 | 21300008: LensFlare_4 10 | externalObjects: {} 11 | serializedVersion: 9 12 | mipmaps: 13 | mipMapMode: 0 14 | enableMipMap: 0 15 | sRGBTexture: 1 16 | linearTexture: 0 17 | fadeOut: 0 18 | borderMipMap: 0 19 | mipMapsPreserveCoverage: 0 20 | alphaTestReferenceValue: 0.5 21 | mipMapFadeDistanceStart: 2 22 | mipMapFadeDistanceEnd: 3 23 | bumpmap: 24 | convertToNormalMap: 0 25 | externalNormalMap: 0 26 | heightScale: 0.25 27 | normalMapFilter: 0 28 | isReadable: 0 29 | streamingMipmaps: 0 30 | streamingMipmapsPriority: 0 31 | grayScaleToAlpha: 0 32 | generateCubemap: 6 33 | cubemapConvolution: 0 34 | seamlessCubemap: 0 35 | textureFormat: -1 36 | maxTextureSize: 1024 37 | textureSettings: 38 | serializedVersion: 2 39 | filterMode: 2 40 | aniso: 1 41 | mipBias: 0 42 | wrapU: 1 43 | wrapV: 1 44 | wrapW: 1 45 | nPOTScale: 0 46 | lightmap: 0 47 | compressionQuality: 50 48 | spriteMode: 2 49 | spriteExtrude: 1 50 | spriteMeshType: 1 51 | alignment: 0 52 | spritePivot: {x: 0.5, y: 0.5} 53 | spritePixelsToUnits: 100 54 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 55 | spriteGenerateFallbackPhysicsShape: 0 56 | alphaUsage: 1 57 | alphaIsTransparency: 1 58 | spriteTessellationDetail: -1 59 | textureType: 8 60 | textureShape: 1 61 | singleChannelComponent: 0 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | platformSettings: 66 | - serializedVersion: 2 67 | buildTarget: DefaultTexturePlatform 68 | maxTextureSize: 1024 69 | resizeAlgorithm: 0 70 | textureFormat: -1 71 | textureCompression: 1 72 | compressionQuality: 50 73 | crunchedCompression: 0 74 | allowsAlphaSplitting: 0 75 | overridden: 0 76 | androidETC2FallbackOverride: 0 77 | - serializedVersion: 2 78 | buildTarget: Standalone 79 | maxTextureSize: 1024 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 | - serializedVersion: 2 89 | buildTarget: iPhone 90 | maxTextureSize: 1024 91 | resizeAlgorithm: 0 92 | textureFormat: -1 93 | textureCompression: 1 94 | compressionQuality: 50 95 | crunchedCompression: 0 96 | allowsAlphaSplitting: 0 97 | overridden: 0 98 | androidETC2FallbackOverride: 0 99 | - serializedVersion: 2 100 | buildTarget: tvOS 101 | maxTextureSize: 1024 102 | resizeAlgorithm: 0 103 | textureFormat: -1 104 | textureCompression: 1 105 | compressionQuality: 50 106 | crunchedCompression: 0 107 | allowsAlphaSplitting: 0 108 | overridden: 0 109 | androidETC2FallbackOverride: 0 110 | - serializedVersion: 2 111 | buildTarget: Android 112 | maxTextureSize: 1024 113 | resizeAlgorithm: 0 114 | textureFormat: -1 115 | textureCompression: 1 116 | compressionQuality: 50 117 | crunchedCompression: 0 118 | allowsAlphaSplitting: 0 119 | overridden: 0 120 | androidETC2FallbackOverride: 0 121 | - serializedVersion: 2 122 | buildTarget: Windows Store Apps 123 | maxTextureSize: 1024 124 | resizeAlgorithm: 0 125 | textureFormat: -1 126 | textureCompression: 1 127 | compressionQuality: 50 128 | crunchedCompression: 0 129 | allowsAlphaSplitting: 0 130 | overridden: 0 131 | androidETC2FallbackOverride: 0 132 | - serializedVersion: 2 133 | buildTarget: Samsung TV 134 | maxTextureSize: 1024 135 | resizeAlgorithm: 0 136 | textureFormat: -1 137 | textureCompression: 1 138 | compressionQuality: 50 139 | crunchedCompression: 0 140 | allowsAlphaSplitting: 0 141 | overridden: 0 142 | androidETC2FallbackOverride: 0 143 | - serializedVersion: 2 144 | buildTarget: WebGL 145 | maxTextureSize: 1024 146 | resizeAlgorithm: 0 147 | textureFormat: -1 148 | textureCompression: 1 149 | compressionQuality: 50 150 | crunchedCompression: 0 151 | allowsAlphaSplitting: 0 152 | overridden: 0 153 | androidETC2FallbackOverride: 0 154 | spriteSheet: 155 | serializedVersion: 2 156 | sprites: 157 | - serializedVersion: 2 158 | name: LensFlare_0 159 | rect: 160 | serializedVersion: 2 161 | x: 0 162 | y: 256 163 | width: 256 164 | height: 256 165 | alignment: 0 166 | pivot: {x: 0.5, y: 0.5} 167 | border: {x: 0, y: 0, z: 0, w: 0} 168 | outline: 169 | - - {x: -6, y: -113} 170 | - {x: 6, y: -121} 171 | - {x: 23, y: -121} 172 | - {x: 65, y: -105} 173 | - {x: 105, y: -73} 174 | - {x: 125, y: -22} 175 | - {x: 125, y: 1} 176 | - {x: 119, y: 8} 177 | - {x: 117, y: 10} 178 | - {x: 123, y: 15} 179 | - {x: 125, y: 17} 180 | - {x: 124, y: 20} 181 | - {x: 115, y: 38} 182 | - {x: 114, y: 41} 183 | - {x: 116, y: 49} 184 | - {x: 99, y: 72} 185 | - {x: 92, y: 68} 186 | - {x: 89, y: 87} 187 | - {x: 66, y: 99} 188 | - {x: 63, y: 98} 189 | - {x: 63, y: 96} 190 | - {x: 63, y: 98} 191 | - {x: 60, y: 105} 192 | - {x: 36, y: 117} 193 | - {x: 27, y: 117} 194 | - {x: 24, y: 116} 195 | - {x: 19, y: 107} 196 | - {x: 19, y: 104} 197 | - {x: 18, y: 103} 198 | - {x: 19, y: 106} 199 | - {x: 20, y: 119} 200 | - {x: 17, y: 122} 201 | - {x: -21, y: 122} 202 | - {x: -33, y: 114} 203 | - {x: -34, y: 111} 204 | - {x: -52, y: 114} 205 | - {x: -65, y: 104} 206 | - {x: -101, y: 72} 207 | - {x: -115, y: 54} 208 | - {x: -122, y: 27} 209 | - {x: -123, y: 2} 210 | - {x: -123, y: -37} 211 | - {x: -100, y: -69} 212 | - {x: -95, y: -62} 213 | - {x: -91, y: -86} 214 | - {x: -39, y: -115} 215 | - {x: -30, y: -116} 216 | - {x: -28, y: -113} 217 | - {x: -28, y: -111} 218 | - {x: -29, y: -117} 219 | - {x: -27, y: -119} 220 | - {x: -24, y: -118} 221 | - {x: -19, y: -110} 222 | - {x: -18, y: -101} 223 | - {x: -19, y: -107} 224 | - {x: -19, y: -115} 225 | - {x: -20, y: -117} 226 | - {x: -20, y: -120} 227 | - {x: -18, y: -122} 228 | - {x: -15, y: -121} 229 | - {x: -14, y: -118} 230 | - {x: -13, y: -121} 231 | - {x: -7, y: -119} 232 | physicsShape: [] 233 | tessellationDetail: 0.1 234 | bones: [] 235 | spriteID: de9ae47bcc24b7d49b9dc0022762c238 236 | vertices: [] 237 | indices: 238 | edges: [] 239 | weights: [] 240 | - serializedVersion: 2 241 | name: LensFlare_1 242 | rect: 243 | serializedVersion: 2 244 | x: 0 245 | y: 128 246 | width: 128 247 | height: 128 248 | alignment: 0 249 | pivot: {x: 0.5, y: 0.5} 250 | border: {x: 0, y: 0, z: 0, w: 0} 251 | outline: 252 | - - {x: 26, y: -60} 253 | - {x: 30, y: -58} 254 | - {x: 41, y: -51} 255 | - {x: 53, y: -39} 256 | - {x: 59, y: -28} 257 | - {x: 63, y: -17} 258 | - {x: 64, y: -14} 259 | - {x: 64, y: 14} 260 | - {x: 61, y: 23} 261 | - {x: 56, y: 34} 262 | - {x: 51, y: 40} 263 | - {x: 36, y: 55} 264 | - {x: 26, y: 60} 265 | - {x: 17, y: 63} 266 | - {x: 13, y: 64} 267 | - {x: -13, y: 64} 268 | - {x: -20, y: 62} 269 | - {x: -25, y: 60} 270 | - {x: -36, y: 55} 271 | - {x: -41, y: 51} 272 | - {x: -54, y: 37} 273 | - {x: -57, y: 32} 274 | - {x: -64, y: 17} 275 | - {x: -64, y: -12} 276 | - {x: -63, y: -17} 277 | - {x: -60, y: -25} 278 | - {x: -57, y: -32} 279 | - {x: -52, y: -40} 280 | - {x: -40, y: -51} 281 | - {x: -36, y: -55} 282 | - {x: -26, y: -60} 283 | - {x: -17, y: -63} 284 | - {x: -13, y: -64} 285 | - {x: 13, y: -64} 286 | - {x: 17, y: -63} 287 | physicsShape: [] 288 | tessellationDetail: 0.4 289 | bones: [] 290 | spriteID: e1a205db9a336e445827bb6a9d500c42 291 | vertices: [] 292 | indices: 293 | edges: [] 294 | weights: [] 295 | - serializedVersion: 2 296 | name: LensFlare_2 297 | rect: 298 | serializedVersion: 2 299 | x: 128 300 | y: 128 301 | width: 128 302 | height: 128 303 | alignment: 0 304 | pivot: {x: 0.5, y: 0.5} 305 | border: {x: 0, y: 0, z: 0, w: 0} 306 | outline: 307 | - - {x: 53, y: -40} 308 | - {x: 62, y: -27} 309 | - {x: 64, y: -19} 310 | - {x: 64, y: 20} 311 | - {x: 57, y: 35} 312 | - {x: 53, y: 41} 313 | - {x: 41, y: 53} 314 | - {x: 24, y: 63} 315 | - {x: 19, y: 64} 316 | - {x: -20, y: 64} 317 | - {x: -35, y: 57} 318 | - {x: -42, y: 52} 319 | - {x: -58, y: 35} 320 | - {x: -64, y: 21} 321 | - {x: -64, y: -19} 322 | - {x: -63, y: -25} 323 | - {x: -53, y: -41} 324 | - {x: -40, y: -53} 325 | - {x: -29, y: -60} 326 | - {x: -19, y: -64} 327 | - {x: 18, y: -64} 328 | - {x: 24, y: -62} 329 | - {x: 37, y: -56} 330 | physicsShape: [] 331 | tessellationDetail: 0.4 332 | bones: [] 333 | spriteID: 8adf243dea70b5e4a9e85564789b313c 334 | vertices: [] 335 | indices: 336 | edges: [] 337 | weights: [] 338 | - serializedVersion: 2 339 | name: LensFlare_3 340 | rect: 341 | serializedVersion: 2 342 | x: 0 343 | y: 0 344 | width: 128 345 | height: 128 346 | alignment: 0 347 | pivot: {x: 0.5, y: 0.5} 348 | border: {x: 0, y: 0, z: 0, w: 0} 349 | outline: 350 | - - {x: 43, y: -54} 351 | - {x: 51, y: -45} 352 | - {x: 55, y: -37} 353 | - {x: 57, y: -32} 354 | - {x: 64, y: -11} 355 | - {x: 64, y: 24} 356 | - {x: 57, y: 34} 357 | - {x: 47, y: 43} 358 | - {x: 44, y: 46} 359 | - {x: 32, y: 54} 360 | - {x: 24, y: 60} 361 | - {x: 15, y: 64} 362 | - {x: -15, y: 64} 363 | - {x: -24, y: 60} 364 | - {x: -33, y: 54} 365 | - {x: -47, y: 43} 366 | - {x: -57, y: 33} 367 | - {x: -61, y: 27} 368 | - {x: -64, y: 20} 369 | - {x: -64, y: -10} 370 | - {x: -63, y: -13} 371 | - {x: -57, y: -32} 372 | - {x: -53, y: -42} 373 | - {x: -48, y: -49} 374 | - {x: -36, y: -59} 375 | - {x: -29, y: -62} 376 | - {x: -22, y: -64} 377 | - {x: 22, y: -64} 378 | - {x: 29, y: -62} 379 | - {x: 36, y: -59} 380 | physicsShape: [] 381 | tessellationDetail: 0.4 382 | bones: [] 383 | spriteID: c730a74285033a340a2b4b2aac61bf44 384 | vertices: [] 385 | indices: 386 | edges: [] 387 | weights: [] 388 | - serializedVersion: 2 389 | name: LensFlare_4 390 | rect: 391 | serializedVersion: 2 392 | x: 128 393 | y: 0 394 | width: 128 395 | height: 128 396 | alignment: 0 397 | pivot: {x: 0.5, y: 0.5} 398 | border: {x: 0, y: 0, z: 0, w: 0} 399 | outline: 400 | - - {x: 52, y: -33} 401 | - {x: 58, y: -19} 402 | - {x: 60, y: -13} 403 | - {x: 60, y: 12} 404 | - {x: 58, y: 21} 405 | - {x: 51, y: 33} 406 | - {x: 37, y: 47} 407 | - {x: 29, y: 53} 408 | - {x: 16, y: 59} 409 | - {x: -13, y: 59} 410 | - {x: -23, y: 57} 411 | - {x: -37, y: 49} 412 | - {x: -53, y: 32} 413 | - {x: -60, y: 15} 414 | - {x: -60, y: -13} 415 | - {x: -56, y: -26} 416 | - {x: -49, y: -39} 417 | - {x: -34, y: -53} 418 | - {x: -15, y: -60} 419 | - {x: -10, y: -61} 420 | - {x: 10, y: -61} 421 | - {x: 24, y: -58} 422 | - {x: 35, y: -51} 423 | - {x: 46, y: -40} 424 | physicsShape: [] 425 | tessellationDetail: 0.4 426 | bones: [] 427 | spriteID: 74eda27458573d546a4d5047779d9724 428 | vertices: [] 429 | indices: 430 | edges: [] 431 | weights: [] 432 | outline: [] 433 | physicsShape: [] 434 | bones: [] 435 | spriteID: 84265af728cf12b4fb57f3d12b5f64aa 436 | vertices: [] 437 | indices: 438 | edges: [] 439 | weights: [] 440 | spritePackingTag: 441 | pSDRemoveMatte: 0 442 | pSDShowRemoveMatteOption: 1 443 | userData: 444 | assetBundleName: 445 | assetBundleVariant: 446 | -------------------------------------------------------------------------------- /Assets/Sprites/Occludie.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b41293f5b290f6045a973472c4db6c31 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 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: 0 35 | aniso: 16 36 | mipBias: 0 37 | wrapU: 0 38 | wrapV: 0 39 | wrapW: 0 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 3 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 4 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: 4 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | spriteSheet: 73 | serializedVersion: 2 74 | sprites: [] 75 | outline: 76 | - - {x: 0, y: 2} 77 | - {x: -0.09813535, y: 1.9975909} 78 | - {x: -0.19603428, y: 1.9903694} 79 | - {x: -0.29346094, y: 1.978353} 80 | - {x: -0.39018065, y: 1.9615705} 81 | - {x: -0.4859604, y: 1.9400625} 82 | - {x: -0.5805693, y: 1.9138807} 83 | - {x: -0.67377967, y: 1.8830881} 84 | - {x: -0.76536685, y: 1.8477591} 85 | - {x: -0.8551101, y: 1.8079786} 86 | - {x: -0.9427934, y: 1.7638426} 87 | - {x: -1.0282055, y: 1.7154572} 88 | - {x: -1.1111405, y: 1.6629392} 89 | - {x: -1.1913986, y: 1.606415} 90 | - {x: -1.2687867, y: 1.5460209} 91 | - {x: -1.343118, y: 1.4819021} 92 | - {x: -1.4142137, y: 1.4142134} 93 | - {x: -1.4819024, y: 1.3431177} 94 | - {x: -1.5460211, y: 1.2687864} 95 | - {x: -1.6064153, y: 1.1913984} 96 | - {x: -1.6629394, y: 1.1111403} 97 | - {x: -1.7154574, y: 1.0282052} 98 | - {x: -1.7638427, y: 0.94279313} 99 | - {x: -1.8079787, y: 0.8551098} 100 | - {x: -1.8477592, y: 0.76536644} 101 | - {x: -1.8830884, y: 0.6737792} 102 | - {x: -1.9138808, y: 0.5805688} 103 | - {x: -1.9400626, y: 0.48595977} 104 | - {x: -1.9615707, y: 0.39018002} 105 | - {x: -1.9783531, y: 0.29346028} 106 | - {x: -1.9903696, y: 0.19603357} 107 | - {x: -1.9975909, y: 0.098134585} 108 | - {x: -2, y: -0.0000008026785} 109 | - {x: -1.9975909, y: -0.09813619} 110 | - {x: -1.9903693, y: -0.19603516} 111 | - {x: -1.9783529, y: -0.29346186} 112 | - {x: -1.9615704, y: -0.3901816} 113 | - {x: -1.9400623, y: -0.48596132} 114 | - {x: -1.9138803, y: -0.58057034} 115 | - {x: -1.8830878, y: -0.67378074} 116 | - {x: -1.8477587, y: -0.7653679} 117 | - {x: -1.8079782, y: -0.855111} 118 | - {x: -1.7638422, y: -0.9427941} 119 | - {x: -1.715457, y: -1.028206} 120 | - {x: -1.6629391, y: -1.1111407} 121 | - {x: -1.606415, y: -1.1913987} 122 | - {x: -1.546021, y: -1.2687865} 123 | - {x: -1.4819025, y: -1.3431177} 124 | - {x: -1.4142139, y: -1.4142132} 125 | - {x: -1.3431184, y: -1.4819018} 126 | - {x: -1.2687873, y: -1.5460204} 127 | - {x: -1.1913995, y: -1.6064144} 128 | - {x: -1.1111416, y: -1.6629385} 129 | - {x: -1.0282067, y: -1.7154565} 130 | - {x: -0.9427949, y: -1.7638417} 131 | - {x: -0.85511184, y: -1.8079778} 132 | - {x: -0.76536876, y: -1.8477583} 133 | - {x: -0.6737818, y: -1.8830874} 134 | - {x: -0.5805717, y: -1.91388} 135 | - {x: -0.48596293, y: -1.9400618} 136 | - {x: -0.39018345, y: -1.96157} 137 | - {x: -0.29346398, y: -1.9783525} 138 | - {x: -0.1960375, y: -1.9903691} 139 | - {x: -0.09813879, y: -1.9975908} 140 | - {x: -0.0000036398517, y: -2} 141 | - {x: 0.098131515, y: -1.9975911} 142 | - {x: 0.19603026, y: -1.9903698} 143 | - {x: 0.29345676, y: -1.9783536} 144 | - {x: 0.3901763, y: -1.9615715} 145 | - {x: 0.48595586, y: -1.9400636} 146 | - {x: 0.58056474, y: -1.913882} 147 | - {x: 0.67377496, y: -1.8830898} 148 | - {x: 0.765362, y: -1.847761} 149 | - {x: 0.8551053, y: -1.8079809} 150 | - {x: 0.94278854, y: -1.7638452} 151 | - {x: 1.0282005, y: -1.7154602} 152 | - {x: 1.1111355, y: -1.6629425} 153 | - {x: 1.1913936, y: -1.6064187} 154 | - {x: 1.2687817, y: -1.5460249} 155 | - {x: 1.3431131, y: -1.4819067} 156 | - {x: 1.4142088, y: -1.4142184} 157 | - {x: 1.4818976, y: -1.3431231} 158 | - {x: 1.5460167, y: -1.2687918} 159 | - {x: 1.6064112, y: -1.1914037} 160 | - {x: 1.6629357, y: -1.1111456} 161 | - {x: 1.7154542, y: -1.0282105} 162 | - {x: 1.7638398, y: -0.94279844} 163 | - {x: 1.8079762, y: -0.855115} 164 | - {x: 1.8477571, y: -0.76537156} 165 | - {x: 1.8830866, y: -0.6737842} 166 | - {x: 1.9138794, y: -0.5805737} 167 | - {x: 1.9400615, y: -0.48596448} 168 | - {x: 1.9615698, y: -0.39018452} 169 | - {x: 1.9783524, y: -0.29346457} 170 | - {x: 1.9903691, y: -0.19603767} 171 | - {x: 1.9975908, y: -0.09813846} 172 | - {x: 2, y: -0.0000028371733} 173 | - {x: 1.997591, y: 0.0981328} 174 | - {x: 1.9903697, y: 0.19603202} 175 | - {x: 1.9783533, y: 0.29345897} 176 | - {x: 1.9615709, y: 0.39017895} 177 | - {x: 1.9400629, y: 0.48595896} 178 | - {x: 1.9138811, y: 0.58056825} 179 | - {x: 1.8830885, y: 0.6737789} 180 | - {x: 1.8477592, y: 0.7653663} 181 | - {x: 1.8079787, y: 0.8551099} 182 | - {x: 1.7638426, y: 0.9427934} 183 | - {x: 1.7154571, y: 1.0282056} 184 | - {x: 1.662939, y: 1.1111408} 185 | - {x: 1.6064146, y: 1.1913992} 186 | - {x: 1.5460203, y: 1.2687874} 187 | - {x: 1.4819014, y: 1.3431189} 188 | - {x: 1.4142125, y: 1.4142147} 189 | - {x: 1.3431165, y: 1.4819036} 190 | - {x: 1.2687849, y: 1.5460223} 191 | - {x: 1.1913966, y: 1.6064166} 192 | - {x: 1.1111382, y: 1.6629407} 193 | - {x: 1.0282029, y: 1.7154588} 194 | - {x: 0.94279057, y: 1.7638441} 195 | - {x: 0.85510695, y: 1.8079801} 196 | - {x: 0.76536334, y: 1.8477606} 197 | - {x: 0.67377585, y: 1.8830895} 198 | - {x: 0.58056515, y: 1.9138819} 199 | - {x: 0.48595583, y: 1.9400636} 200 | - {x: 0.3901758, y: 1.9615716} 201 | - {x: 0.29345578, y: 1.9783537} 202 | - {x: 0.1960288, y: 1.99037} 203 | - {x: 0.09812956, y: 1.9975911} 204 | physicsShape: 205 | - - {x: 0, y: 2} 206 | - {x: -0.09813535, y: 1.9975909} 207 | - {x: -0.19603428, y: 1.9903694} 208 | - {x: -0.29346094, y: 1.978353} 209 | - {x: -0.39018065, y: 1.9615705} 210 | - {x: -0.4859604, y: 1.9400625} 211 | - {x: -0.5805693, y: 1.9138807} 212 | - {x: -0.67377967, y: 1.8830881} 213 | - {x: -0.76536685, y: 1.8477591} 214 | - {x: -0.8551101, y: 1.8079786} 215 | - {x: -0.9427934, y: 1.7638426} 216 | - {x: -1.0282055, y: 1.7154572} 217 | - {x: -1.1111405, y: 1.6629392} 218 | - {x: -1.1913986, y: 1.606415} 219 | - {x: -1.2687867, y: 1.5460209} 220 | - {x: -1.343118, y: 1.4819021} 221 | - {x: -1.4142137, y: 1.4142134} 222 | - {x: -1.4819024, y: 1.3431177} 223 | - {x: -1.5460211, y: 1.2687864} 224 | - {x: -1.6064153, y: 1.1913984} 225 | - {x: -1.6629394, y: 1.1111403} 226 | - {x: -1.7154574, y: 1.0282052} 227 | - {x: -1.7638427, y: 0.94279313} 228 | - {x: -1.8079787, y: 0.8551098} 229 | - {x: -1.8477592, y: 0.76536644} 230 | - {x: -1.8830884, y: 0.6737792} 231 | - {x: -1.9138808, y: 0.5805688} 232 | - {x: -1.9400626, y: 0.48595977} 233 | - {x: -1.9615707, y: 0.39018002} 234 | - {x: -1.9783531, y: 0.29346028} 235 | - {x: -1.9903696, y: 0.19603357} 236 | - {x: -1.9975909, y: 0.098134585} 237 | - {x: -2, y: -0.0000008026785} 238 | - {x: -1.9975909, y: -0.09813619} 239 | - {x: -1.9903693, y: -0.19603516} 240 | - {x: -1.9783529, y: -0.29346186} 241 | - {x: -1.9615704, y: -0.3901816} 242 | - {x: -1.9400623, y: -0.48596132} 243 | - {x: -1.9138803, y: -0.58057034} 244 | - {x: -1.8830878, y: -0.67378074} 245 | - {x: -1.8477587, y: -0.7653679} 246 | - {x: -1.8079782, y: -0.855111} 247 | - {x: -1.7638422, y: -0.9427941} 248 | - {x: -1.715457, y: -1.028206} 249 | - {x: -1.6629391, y: -1.1111407} 250 | - {x: -1.606415, y: -1.1913987} 251 | - {x: -1.546021, y: -1.2687865} 252 | - {x: -1.4819025, y: -1.3431177} 253 | - {x: -1.4142139, y: -1.4142132} 254 | - {x: -1.3431184, y: -1.4819018} 255 | - {x: -1.2687873, y: -1.5460204} 256 | - {x: -1.1913995, y: -1.6064144} 257 | - {x: -1.1111416, y: -1.6629385} 258 | - {x: -1.0282067, y: -1.7154565} 259 | - {x: -0.9427949, y: -1.7638417} 260 | - {x: -0.85511184, y: -1.8079778} 261 | - {x: -0.76536876, y: -1.8477583} 262 | - {x: -0.6737818, y: -1.8830874} 263 | - {x: -0.5805717, y: -1.91388} 264 | - {x: -0.48596293, y: -1.9400618} 265 | - {x: -0.39018345, y: -1.96157} 266 | - {x: -0.29346398, y: -1.9783525} 267 | - {x: -0.1960375, y: -1.9903691} 268 | - {x: -0.09813879, y: -1.9975908} 269 | - {x: -0.0000036398517, y: -2} 270 | - {x: 0.098131515, y: -1.9975911} 271 | - {x: 0.19603026, y: -1.9903698} 272 | - {x: 0.29345676, y: -1.9783536} 273 | - {x: 0.3901763, y: -1.9615715} 274 | - {x: 0.48595586, y: -1.9400636} 275 | - {x: 0.58056474, y: -1.913882} 276 | - {x: 0.67377496, y: -1.8830898} 277 | - {x: 0.765362, y: -1.847761} 278 | - {x: 0.8551053, y: -1.8079809} 279 | - {x: 0.94278854, y: -1.7638452} 280 | - {x: 1.0282005, y: -1.7154602} 281 | - {x: 1.1111355, y: -1.6629425} 282 | - {x: 1.1913936, y: -1.6064187} 283 | - {x: 1.2687817, y: -1.5460249} 284 | - {x: 1.3431131, y: -1.4819067} 285 | - {x: 1.4142088, y: -1.4142184} 286 | - {x: 1.4818976, y: -1.3431231} 287 | - {x: 1.5460167, y: -1.2687918} 288 | - {x: 1.6064112, y: -1.1914037} 289 | - {x: 1.6629357, y: -1.1111456} 290 | - {x: 1.7154542, y: -1.0282105} 291 | - {x: 1.7638398, y: -0.94279844} 292 | - {x: 1.8079762, y: -0.855115} 293 | - {x: 1.8477571, y: -0.76537156} 294 | - {x: 1.8830866, y: -0.6737842} 295 | - {x: 1.9138794, y: -0.5805737} 296 | - {x: 1.9400615, y: -0.48596448} 297 | - {x: 1.9615698, y: -0.39018452} 298 | - {x: 1.9783524, y: -0.29346457} 299 | - {x: 1.9903691, y: -0.19603767} 300 | - {x: 1.9975908, y: -0.09813846} 301 | - {x: 2, y: -0.0000028371733} 302 | - {x: 1.997591, y: 0.0981328} 303 | - {x: 1.9903697, y: 0.19603202} 304 | - {x: 1.9783533, y: 0.29345897} 305 | - {x: 1.9615709, y: 0.39017895} 306 | - {x: 1.9400629, y: 0.48595896} 307 | - {x: 1.9138811, y: 0.58056825} 308 | - {x: 1.8830885, y: 0.6737789} 309 | - {x: 1.8477592, y: 0.7653663} 310 | - {x: 1.8079787, y: 0.8551099} 311 | - {x: 1.7638426, y: 0.9427934} 312 | - {x: 1.7154571, y: 1.0282056} 313 | - {x: 1.662939, y: 1.1111408} 314 | - {x: 1.6064146, y: 1.1913992} 315 | - {x: 1.5460203, y: 1.2687874} 316 | - {x: 1.4819014, y: 1.3431189} 317 | - {x: 1.4142125, y: 1.4142147} 318 | - {x: 1.3431165, y: 1.4819036} 319 | - {x: 1.2687849, y: 1.5460223} 320 | - {x: 1.1913966, y: 1.6064166} 321 | - {x: 1.1111382, y: 1.6629407} 322 | - {x: 1.0282029, y: 1.7154588} 323 | - {x: 0.94279057, y: 1.7638441} 324 | - {x: 0.85510695, y: 1.8079801} 325 | - {x: 0.76536334, y: 1.8477606} 326 | - {x: 0.67377585, y: 1.8830895} 327 | - {x: 0.58056515, y: 1.9138819} 328 | - {x: 0.48595583, y: 1.9400636} 329 | - {x: 0.3901758, y: 1.9615716} 330 | - {x: 0.29345578, y: 1.9783537} 331 | - {x: 0.1960288, y: 1.99037} 332 | - {x: 0.09812956, y: 1.9975911} 333 | bones: [] 334 | spriteID: 9509495a8574bf64ba731ef2783d7493 335 | vertices: [] 336 | indices: 337 | edges: [] 338 | weights: [] 339 | spritePackingTag: 340 | pSDRemoveMatte: 0 341 | pSDShowRemoveMatteOption: 0 342 | userData: 343 | assetBundleName: 344 | assetBundleVariant: 345 | --------------------------------------------------------------------------------