From 4fd069ca62e17ce7d5895fcfb8357e549fe03025 Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Wed, 25 Oct 2023 17:24:00 +0200 Subject: [PATCH 01/17] =?UTF-8?q?=F0=9F=8D=B1=20Add=20empty=20Unity=20proj?= =?UTF-8?q?ect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Settings.meta | 8 + Assets/Settings/SampleSceneProfile.asset | 123 +++ Assets/Settings/SampleSceneProfile.asset.meta | 8 + Assets/Settings/URP-Balanced-Renderer.asset | 76 ++ .../Settings/URP-Balanced-Renderer.asset.meta | 8 + Assets/Settings/URP-Balanced.asset | 114 +++ Assets/Settings/URP-Balanced.asset.meta | 8 + ...niversalRenderPipelineGlobalSettings.asset | 41 + ...salRenderPipelineGlobalSettings.asset.meta | 8 + Packages/manifest.json | 40 + Packages/packages-lock.json | 346 +++++++ ProjectSettings/AudioManager.asset | 19 + .../BurstAotSettings_StandaloneWindows.json | 16 + ProjectSettings/ClusterInputManager.asset | 6 + ProjectSettings/CommonBurstAotSettings.json | 6 + ProjectSettings/DynamicsManager.asset | 36 + ProjectSettings/EditorBuildSettings.asset | 11 + ProjectSettings/EditorSettings.asset | 35 + ProjectSettings/GraphicsSettings.asset | 70 ++ ProjectSettings/InputManager.asset | 487 +++++++++ ProjectSettings/MemorySettings.asset | 35 + ProjectSettings/NavMeshAreas.asset | 91 ++ ProjectSettings/PackageManagerSettings.asset | 43 + ProjectSettings/Physics2DSettings.asset | 56 ++ ProjectSettings/PresetManager.asset | 7 + ProjectSettings/ProjectSettings.asset | 923 ++++++++++++++++++ ProjectSettings/ProjectVersion.txt | 2 + ProjectSettings/QualitySettings.asset | 76 ++ ProjectSettings/SceneTemplateSettings.json | 167 ++++ ProjectSettings/ShaderGraphSettings.asset | 16 + ProjectSettings/TagManager.asset | 43 + ProjectSettings/TimeManager.asset | 9 + ProjectSettings/URPProjectSettings.asset | 15 + ProjectSettings/UnityConnectSettings.asset | 36 + ProjectSettings/VFXManager.asset | 12 + ProjectSettings/VersionControlSettings.asset | 8 + ProjectSettings/XRSettings.asset | 10 + 37 files changed, 3015 insertions(+) create mode 100644 Assets/Settings.meta create mode 100644 Assets/Settings/SampleSceneProfile.asset create mode 100644 Assets/Settings/SampleSceneProfile.asset.meta create mode 100644 Assets/Settings/URP-Balanced-Renderer.asset create mode 100644 Assets/Settings/URP-Balanced-Renderer.asset.meta create mode 100644 Assets/Settings/URP-Balanced.asset create mode 100644 Assets/Settings/URP-Balanced.asset.meta create mode 100644 Assets/Settings/UniversalRenderPipelineGlobalSettings.asset create mode 100644 Assets/Settings/UniversalRenderPipelineGlobalSettings.asset.meta create mode 100644 Packages/manifest.json create mode 100644 Packages/packages-lock.json create mode 100644 ProjectSettings/AudioManager.asset create mode 100644 ProjectSettings/BurstAotSettings_StandaloneWindows.json create mode 100644 ProjectSettings/ClusterInputManager.asset create mode 100644 ProjectSettings/CommonBurstAotSettings.json create mode 100644 ProjectSettings/DynamicsManager.asset create mode 100644 ProjectSettings/EditorBuildSettings.asset create mode 100644 ProjectSettings/EditorSettings.asset create mode 100644 ProjectSettings/GraphicsSettings.asset create mode 100644 ProjectSettings/InputManager.asset create mode 100644 ProjectSettings/MemorySettings.asset create mode 100644 ProjectSettings/NavMeshAreas.asset create mode 100644 ProjectSettings/PackageManagerSettings.asset create mode 100644 ProjectSettings/Physics2DSettings.asset create mode 100644 ProjectSettings/PresetManager.asset create mode 100644 ProjectSettings/ProjectSettings.asset create mode 100644 ProjectSettings/ProjectVersion.txt create mode 100644 ProjectSettings/QualitySettings.asset create mode 100644 ProjectSettings/SceneTemplateSettings.json create mode 100644 ProjectSettings/ShaderGraphSettings.asset create mode 100644 ProjectSettings/TagManager.asset create mode 100644 ProjectSettings/TimeManager.asset create mode 100644 ProjectSettings/URPProjectSettings.asset create mode 100644 ProjectSettings/UnityConnectSettings.asset create mode 100644 ProjectSettings/VFXManager.asset create mode 100644 ProjectSettings/VersionControlSettings.asset create mode 100644 ProjectSettings/XRSettings.asset diff --git a/Assets/Settings.meta b/Assets/Settings.meta new file mode 100644 index 0000000..39b94dd --- /dev/null +++ b/Assets/Settings.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 709f11a7f3c4041caa4ef136ea32d874 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Settings/SampleSceneProfile.asset b/Assets/Settings/SampleSceneProfile.asset new file mode 100644 index 0000000..37e401d --- /dev/null +++ b/Assets/Settings/SampleSceneProfile.asset @@ -0,0 +1,123 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7893295128165547882 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0b2db86121404754db890f4c8dfe81b2, type: 3} + m_Name: Bloom + m_EditorClassIdentifier: + active: 1 + m_AdvancedMode: 0 + threshold: + m_OverrideState: 1 + m_Value: 1 + min: 0 + intensity: + m_OverrideState: 1 + m_Value: 1 + min: 0 + scatter: + m_OverrideState: 0 + m_Value: 0.7 + min: 0 + max: 1 + clamp: + m_OverrideState: 0 + m_Value: 65472 + min: 0 + tint: + m_OverrideState: 0 + m_Value: {r: 1, g: 1, b: 1, a: 1} + hdr: 0 + showAlpha: 0 + showEyeDropper: 1 + highQualityFiltering: + m_OverrideState: 0 + m_Value: 0 + skipIterations: + m_OverrideState: 0 + m_Value: 1 + min: 0 + max: 16 + dirtTexture: + m_OverrideState: 0 + m_Value: {fileID: 0} + dirtIntensity: + m_OverrideState: 0 + m_Value: 0 + min: 0 +--- !u!114 &-7011558710299706105 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 899c54efeace73346a0a16faa3afe726, type: 3} + m_Name: Vignette + m_EditorClassIdentifier: + active: 1 + m_AdvancedMode: 0 + color: + m_OverrideState: 0 + m_Value: {r: 0, g: 0, b: 0, a: 1} + hdr: 0 + showAlpha: 0 + showEyeDropper: 1 + center: + m_OverrideState: 0 + m_Value: {x: 0.5, y: 0.5} + intensity: + m_OverrideState: 1 + m_Value: 0.25 + min: 0 + max: 1 + smoothness: + m_OverrideState: 1 + m_Value: 0.4 + min: 0.01 + max: 1 + rounded: + m_OverrideState: 0 + m_Value: 0 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3} + m_Name: SampleSceneProfile + m_EditorClassIdentifier: + components: + - {fileID: 849379129802519247} + - {fileID: -7893295128165547882} + - {fileID: -7011558710299706105} +--- !u!114 &849379129802519247 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 97c23e3b12dc18c42a140437e53d3951, type: 3} + m_Name: Tonemapping + m_EditorClassIdentifier: + active: 1 + m_AdvancedMode: 0 + mode: + m_OverrideState: 1 + m_Value: 1 diff --git a/Assets/Settings/SampleSceneProfile.asset.meta b/Assets/Settings/SampleSceneProfile.asset.meta new file mode 100644 index 0000000..f8cce64 --- /dev/null +++ b/Assets/Settings/SampleSceneProfile.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a6560a915ef98420e9faacc1c7438823 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Settings/URP-Balanced-Renderer.asset b/Assets/Settings/URP-Balanced-Renderer.asset new file mode 100644 index 0000000..20bd4d4 --- /dev/null +++ b/Assets/Settings/URP-Balanced-Renderer.asset @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-1878332245247344467 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f62c9c65cf3354c93be831c8bc075510, type: 3} + m_Name: SSAO + m_EditorClassIdentifier: + m_Active: 1 + m_Shader: {fileID: 0} + m_Settings: + Downsample: 1 + AfterOpaque: 0 + Source: 0 + NormalSamples: 0 + Intensity: 0.5 + DirectLightingStrength: 0.25 + Radius: 0.25 + SampleCount: 4 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3} + m_Name: URP-Balanced-Renderer + m_EditorClassIdentifier: + debugShaders: + debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, + type: 3} + m_RendererFeatures: + - {fileID: -1878332245247344467} + m_RendererFeatureMap: adc0de57c6d2eee5 + m_UseNativeRenderPass: 0 + postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} + shaders: + blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3} + copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} + screenSpaceShadowPS: {fileID: 0} + samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} + stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3} + fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3} + materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3} + coreBlitPS: {fileID: 0} + coreBlitColorAndDepthPS: {fileID: 0} + cameraMotionVector: {fileID: 0} + objectMotionVector: {fileID: 0} + m_OpaqueLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_TransparentLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_DefaultStencilState: + overrideStencilState: 0 + stencilReference: 0 + stencilCompareFunction: 8 + passOperation: 2 + failOperation: 0 + zFailOperation: 0 + m_ShadowTransparentReceive: 1 + m_RenderingMode: 0 + m_DepthPrimingMode: 0 + m_AccurateGbufferNormals: 0 + m_ClusteredRendering: 0 + m_TileSize: 32 diff --git a/Assets/Settings/URP-Balanced-Renderer.asset.meta b/Assets/Settings/URP-Balanced-Renderer.asset.meta new file mode 100644 index 0000000..8fa7f17 --- /dev/null +++ b/Assets/Settings/URP-Balanced-Renderer.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e634585d5c4544dd297acaee93dc2beb +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Settings/URP-Balanced.asset b/Assets/Settings/URP-Balanced.asset new file mode 100644 index 0000000..65bbfc8 --- /dev/null +++ b/Assets/Settings/URP-Balanced.asset @@ -0,0 +1,114 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} + m_Name: URP-Balanced + m_EditorClassIdentifier: + k_AssetVersion: 11 + k_AssetPreviousVersion: 11 + m_RendererType: 1 + m_RendererData: {fileID: 0} + m_RendererDataList: + - {fileID: 11400000, guid: e634585d5c4544dd297acaee93dc2beb, type: 2} + m_DefaultRendererIndex: 0 + m_RequireDepthTexture: 0 + m_RequireOpaqueTexture: 0 + m_OpaqueDownsampling: 1 + m_SupportsTerrainHoles: 1 + m_SupportsHDR: 1 + m_HDRColorBufferPrecision: 0 + m_MSAA: 1 + m_RenderScale: 1 + m_UpscalingFilter: 0 + m_FsrOverrideSharpness: 0 + m_FsrSharpness: 0.92 + m_EnableLODCrossFade: 1 + m_LODCrossFadeDitheringType: 1 + m_ShEvalMode: 0 + m_MainLightRenderingMode: 1 + m_MainLightShadowsSupported: 1 + m_MainLightShadowmapResolution: 1024 + m_AdditionalLightsRenderingMode: 1 + m_AdditionalLightsPerObjectLimit: 2 + m_AdditionalLightShadowsSupported: 0 + m_AdditionalLightsShadowmapResolution: 512 + m_AdditionalLightsShadowResolutionTierLow: 128 + m_AdditionalLightsShadowResolutionTierMedium: 256 + m_AdditionalLightsShadowResolutionTierHigh: 512 + m_ReflectionProbeBlending: 0 + m_ReflectionProbeBoxProjection: 0 + m_ShadowDistance: 50 + m_ShadowCascadeCount: 1 + m_Cascade2Split: 0.25 + m_Cascade3Split: {x: 0.1, y: 0.3} + m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} + m_CascadeBorder: 0.1 + m_ShadowDepthBias: 1 + m_ShadowNormalBias: 1 + m_AnyShadowsSupported: 1 + m_SoftShadowsSupported: 1 + m_ConservativeEnclosingSphere: 0 + m_NumIterationsEnclosingSphere: 64 + m_SoftShadowQuality: 2 + m_AdditionalLightsCookieResolution: 512 + m_AdditionalLightsCookieFormat: 1 + m_UseSRPBatcher: 1 + m_SupportsDynamicBatching: 0 + m_MixedLightingSupported: 1 + m_SupportsLightCookies: 1 + m_SupportsLightLayers: 0 + m_DebugLevel: 0 + m_StoreActionsOptimization: 0 + m_EnableRenderGraph: 0 + m_UseAdaptivePerformance: 1 + m_ColorGradingMode: 0 + m_ColorGradingLutSize: 32 + m_UseFastSRGBLinearConversion: 0 + m_SupportDataDrivenLensFlare: 1 + m_ShadowType: 1 + m_LocalShadowsSupported: 0 + m_LocalShadowsAtlasResolution: 256 + m_MaxPixelLights: 0 + m_ShadowAtlasResolution: 256 + m_VolumeFrameworkUpdateMode: 0 + m_Textures: + blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} + bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} + m_PrefilteringModeMainLightShadows: 1 + m_PrefilteringModeAdditionalLight: 4 + m_PrefilteringModeAdditionalLightShadows: 1 + m_PrefilterXRKeywords: 0 + m_PrefilteringModeForwardPlus: 1 + m_PrefilteringModeDeferredRendering: 1 + m_PrefilteringModeScreenSpaceOcclusion: 1 + m_PrefilterDebugKeywords: 0 + m_PrefilterWriteRenderingLayers: 0 + m_PrefilterHDROutput: 0 + m_PrefilterSSAODepthNormals: 0 + m_PrefilterSSAOSourceDepthLow: 0 + m_PrefilterSSAOSourceDepthMedium: 0 + m_PrefilterSSAOSourceDepthHigh: 0 + m_PrefilterSSAOInterleaved: 0 + m_PrefilterSSAOBlueNoise: 0 + m_PrefilterSSAOSampleCountLow: 0 + m_PrefilterSSAOSampleCountMedium: 0 + m_PrefilterSSAOSampleCountHigh: 0 + m_PrefilterDBufferMRT1: 0 + m_PrefilterDBufferMRT2: 0 + m_PrefilterDBufferMRT3: 0 + m_PrefilterSoftShadowsQualityLow: 0 + m_PrefilterSoftShadowsQualityMedium: 0 + m_PrefilterSoftShadowsQualityHigh: 0 + m_PrefilterSoftShadows: 0 + m_PrefilterScreenCoord: 0 + m_PrefilterNativeRenderPass: 0 + m_ShaderVariantLogLevel: 0 + m_ShadowCascades: 0 diff --git a/Assets/Settings/URP-Balanced.asset.meta b/Assets/Settings/URP-Balanced.asset.meta new file mode 100644 index 0000000..f524db0 --- /dev/null +++ b/Assets/Settings/URP-Balanced.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e1260c1148f6143b28bae5ace5e9c5d1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset b/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset new file mode 100644 index 0000000..0c0350e --- /dev/null +++ b/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset @@ -0,0 +1,41 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2ec995e51a6e251468d2a3fd8a686257, type: 3} + m_Name: UniversalRenderPipelineGlobalSettings + m_EditorClassIdentifier: + k_AssetVersion: 3 + m_RenderingLayerNames: + - Light Layer default + - Light Layer 1 + - Light Layer 2 + - Light Layer 3 + - Light Layer 4 + - Light Layer 5 + - Light Layer 6 + - Light Layer 7 + m_ValidRenderingLayers: 255 + lightLayerName0: Light Layer default + lightLayerName1: Light Layer 1 + lightLayerName2: Light Layer 2 + lightLayerName3: Light Layer 3 + lightLayerName4: Light Layer 4 + lightLayerName5: Light Layer 5 + lightLayerName6: Light Layer 6 + lightLayerName7: Light Layer 7 + m_StripDebugVariants: 1 + m_StripUnusedPostProcessingVariants: 1 + m_StripUnusedVariants: 1 + m_StripUnusedLODCrossFadeVariants: 1 + m_StripScreenCoordOverrideVariants: 1 + supportRuntimeDebugDisplay: 0 + m_ShaderVariantLogLevel: 0 + m_ExportShaderVariants: 1 diff --git a/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset.meta b/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset.meta new file mode 100644 index 0000000..81b84f2 --- /dev/null +++ b/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 18dc0cd2c080841dea60987a38ce93fa +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/manifest.json b/Packages/manifest.json new file mode 100644 index 0000000..769ef38 --- /dev/null +++ b/Packages/manifest.json @@ -0,0 +1,40 @@ +{ + "dependencies": { + "com.unity.ide.rider": "3.0.25", + "com.unity.render-pipelines.universal": "14.0.9", + "com.unity.test-framework": "1.1.33", + "com.unity.textmeshpro": "3.0.6", + "com.unity.ugui": "1.0.0", + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.androidjni": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } +} diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json new file mode 100644 index 0000000..f9dae3d --- /dev/null +++ b/Packages/packages-lock.json @@ -0,0 +1,346 @@ +{ + "dependencies": { + "com.unity.burst": { + "version": "1.8.9", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.mathematics": "1.2.1" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ext.nunit": { + "version": "1.0.6", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.ide.rider": { + "version": "3.0.25", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.6" + }, + "url": "https://packages.unity.com" + }, + "com.unity.mathematics": { + "version": "1.2.6", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.render-pipelines.core": { + "version": "14.0.9", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.ugui": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.render-pipelines.universal": { + "version": "14.0.9", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.mathematics": "1.2.1", + "com.unity.burst": "1.8.4", + "com.unity.render-pipelines.core": "14.0.9", + "com.unity.shadergraph": "14.0.9" + } + }, + "com.unity.searcher": { + "version": "4.9.2", + "depth": 2, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.shadergraph": { + "version": "14.0.9", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.render-pipelines.core": "14.0.9", + "com.unity.searcher": "4.9.2" + } + }, + "com.unity.test-framework": { + "version": "1.1.33", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.6", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.textmeshpro": { + "version": "3.0.6", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ugui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0" + } + }, + "com.unity.modules.ai": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.androidjni": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.animation": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.assetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.audio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.cloth": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.director": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.animation": "1.0.0" + } + }, + "com.unity.modules.imageconversion": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.imgui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.jsonserialize": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.particlesystem": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics2d": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.screencapture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.subsystems": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.terrain": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.terrainphysics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.terrain": "1.0.0" + } + }, + "com.unity.modules.tilemap": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics2d": "1.0.0" + } + }, + "com.unity.modules.ui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.uielements": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.umbra": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unityanalytics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.unitywebrequest": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unitywebrequestassetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestaudio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.audio": "1.0.0" + } + }, + "com.unity.modules.unitywebrequesttexture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestwww": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.vehicles": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.video": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.vr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } + }, + "com.unity.modules.wind": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.xr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.subsystems": "1.0.0" + } + } + } +} diff --git a/ProjectSettings/AudioManager.asset b/ProjectSettings/AudioManager.asset new file mode 100644 index 0000000..27287fe --- /dev/null +++ b/ProjectSettings/AudioManager.asset @@ -0,0 +1,19 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!11 &1 +AudioManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Volume: 1 + Rolloff Scale: 1 + Doppler Factor: 1 + Default Speaker Mode: 2 + m_SampleRate: 0 + m_DSPBufferSize: 1024 + m_VirtualVoiceCount: 512 + m_RealVoiceCount: 32 + m_SpatializerPlugin: + m_AmbisonicDecoderPlugin: + m_DisableAudio: 0 + m_VirtualizeEffects: 1 + m_RequestedDSPBufferSize: 0 diff --git a/ProjectSettings/BurstAotSettings_StandaloneWindows.json b/ProjectSettings/BurstAotSettings_StandaloneWindows.json new file mode 100644 index 0000000..2144f6d --- /dev/null +++ b/ProjectSettings/BurstAotSettings_StandaloneWindows.json @@ -0,0 +1,16 @@ +{ + "MonoBehaviour": { + "Version": 3, + "EnableBurstCompilation": true, + "EnableOptimisations": true, + "EnableSafetyChecks": false, + "EnableDebugInAllBuilds": false, + "UsePlatformSDKLinker": false, + "CpuMinTargetX32": 0, + "CpuMaxTargetX32": 0, + "CpuMinTargetX64": 0, + "CpuMaxTargetX64": 0, + "CpuTargetsX32": 6, + "CpuTargetsX64": 72 + } +} diff --git a/ProjectSettings/ClusterInputManager.asset b/ProjectSettings/ClusterInputManager.asset new file mode 100644 index 0000000..e7886b2 --- /dev/null +++ b/ProjectSettings/ClusterInputManager.asset @@ -0,0 +1,6 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!236 &1 +ClusterInputManager: + m_ObjectHideFlags: 0 + m_Inputs: [] diff --git a/ProjectSettings/CommonBurstAotSettings.json b/ProjectSettings/CommonBurstAotSettings.json new file mode 100644 index 0000000..3dffdba --- /dev/null +++ b/ProjectSettings/CommonBurstAotSettings.json @@ -0,0 +1,6 @@ +{ + "MonoBehaviour": { + "Version": 3, + "DisabledWarnings": "" + } +} diff --git a/ProjectSettings/DynamicsManager.asset b/ProjectSettings/DynamicsManager.asset new file mode 100644 index 0000000..1596c42 --- /dev/null +++ b/ProjectSettings/DynamicsManager.asset @@ -0,0 +1,36 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!55 &1 +PhysicsManager: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_Gravity: {x: 0, y: -9.81, z: 0} + m_DefaultMaterial: {fileID: 0} + m_BounceThreshold: 2 + m_SleepThreshold: 0.005 + m_DefaultContactOffset: 0.01 + m_DefaultSolverIterations: 6 + m_DefaultSolverVelocityIterations: 1 + m_QueriesHitBackfaces: 0 + m_QueriesHitTriggers: 1 + m_EnableAdaptiveForce: 0 + m_ClothInterCollisionDistance: 0.1 + m_ClothInterCollisionStiffness: 0.2 + m_ContactsGeneration: 1 + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + m_AutoSimulation: 1 + m_AutoSyncTransforms: 0 + m_ReuseCollisionCallbacks: 0 + m_ClothInterCollisionSettingsToggle: 0 + m_ClothGravity: {x: 0, y: -9.81, z: 0} + m_ContactPairsMode: 0 + m_BroadphaseType: 0 + m_WorldBounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 250, y: 250, z: 250} + m_WorldSubdivisions: 8 + m_FrictionType: 0 + m_EnableEnhancedDeterminism: 0 + m_EnableUnifiedHeightmaps: 1 + m_SolverType: 0 + m_DefaultMaxAngularSpeed: 50 diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset new file mode 100644 index 0000000..ea88784 --- /dev/null +++ b/ProjectSettings/EditorBuildSettings.asset @@ -0,0 +1,11 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1045 &1 +EditorBuildSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Scenes: + - enabled: 1 + path: Assets/Scenes/SampleScene.unity + guid: 99c9720ab356a0642a771bea13969a05 + m_configObjects: {} diff --git a/ProjectSettings/EditorSettings.asset b/ProjectSettings/EditorSettings.asset new file mode 100644 index 0000000..c8da44e --- /dev/null +++ b/ProjectSettings/EditorSettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!159 &1 +EditorSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_ExternalVersionControlSupport: Visible Meta Files + m_SerializationMode: 2 + m_LineEndingsForNewScripts: 2 + m_DefaultBehaviorMode: 0 + m_PrefabRegularEnvironment: {fileID: 0} + m_PrefabUIEnvironment: {fileID: 0} + m_SpritePackerMode: 0 + m_SpritePackerPaddingPower: 1 + m_EtcTextureCompressorBehavior: 1 + m_EtcTextureFastCompressor: 1 + m_EtcTextureNormalCompressor: 2 + m_EtcTextureBestCompressor: 4 + m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp + m_ProjectGenerationRootNamespace: + m_CollabEditorSettings: + inProgressEnabled: 1 + m_EnableTextureStreamingInEditMode: 1 + m_EnableTextureStreamingInPlayMode: 1 + m_AsyncShaderCompilation: 1 + m_EnterPlayModeOptionsEnabled: 0 + m_EnterPlayModeOptions: 3 + m_ShowLightmapResolutionOverlay: 1 + m_UseLegacyProbeSampleCount: 0 + m_AssetPipelineMode: 1 + m_CacheServerMode: 0 + m_CacheServerEndpoint: + m_CacheServerNamespacePrefix: default + m_CacheServerEnableDownload: 1 + m_CacheServerEnableUpload: 1 diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset new file mode 100644 index 0000000..56859a2 --- /dev/null +++ b/ProjectSettings/GraphicsSettings.asset @@ -0,0 +1,70 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!30 &1 +GraphicsSettings: + m_ObjectHideFlags: 0 + serializedVersion: 14 + m_Deferred: + m_Mode: 1 + m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} + m_DeferredReflections: + m_Mode: 1 + m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} + m_ScreenSpaceShadows: + m_Mode: 1 + m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} + m_LegacyDeferred: + m_Mode: 1 + m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} + m_DepthNormals: + m_Mode: 1 + m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} + m_MotionVectors: + m_Mode: 1 + m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} + m_LightHalo: + m_Mode: 1 + m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} + m_LensFlare: + m_Mode: 1 + m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} + m_VideoShadersIncludeMode: 2 + m_AlwaysIncludedShaders: + - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} + m_PreloadedShaders: [] + m_PreloadShadersBatchTimeLimit: -1 + m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, + type: 0} + m_CustomRenderPipeline: {fileID: 11400000, guid: 7b7fd9122c28c4d15b667c7040e3b3fd, + type: 2} + m_TransparencySortMode: 0 + m_TransparencySortAxis: {x: 0, y: 0, z: 1} + m_DefaultRenderingPath: 1 + m_DefaultMobileRenderingPath: 1 + m_TierSettings: [] + m_LightmapStripping: 0 + m_FogStripping: 0 + m_InstancingStripping: 0 + m_LightmapKeepPlain: 1 + m_LightmapKeepDirCombined: 1 + m_LightmapKeepDynamicPlain: 1 + m_LightmapKeepDynamicDirCombined: 1 + m_LightmapKeepShadowMask: 1 + m_LightmapKeepSubtractive: 1 + m_FogKeepLinear: 1 + m_FogKeepExp: 1 + m_FogKeepExp2: 1 + m_AlbedoSwatchInfos: [] + m_LightsUseLinearIntensity: 1 + m_LightsUseColorTemperature: 1 + m_DefaultRenderingLayerMask: 1 + m_LogWhenShaderIsCompiled: 0 + m_SRPDefaultSettings: + UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa, + type: 2} diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset new file mode 100644 index 0000000..b16147e --- /dev/null +++ b/ProjectSettings/InputManager.asset @@ -0,0 +1,487 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!13 &1 +InputManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Axes: + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: a + altPositiveButton: d + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: s + altPositiveButton: w + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: mouse 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: mouse 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: mouse 2 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: space + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse X + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse Y + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse ScrollWheel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 2 + joyNum: 0 + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 0 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 1 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 2 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 3 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: enter + altNegativeButton: + altPositiveButton: space + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Cancel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: escape + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Enable Debug Button 1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: joystick button 8 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Enable Debug Button 2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: backspace + altNegativeButton: + altPositiveButton: joystick button 9 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Reset + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Next + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: page down + altNegativeButton: + altPositiveButton: joystick button 5 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Previous + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: page up + altNegativeButton: + altPositiveButton: joystick button 4 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Validate + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Persistent + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: right shift + altNegativeButton: + altPositiveButton: joystick button 2 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Multiplier + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: joystick button 3 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 2 + axis: 6 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 2 + axis: 5 + joyNum: 0 diff --git a/ProjectSettings/MemorySettings.asset b/ProjectSettings/MemorySettings.asset new file mode 100644 index 0000000..5b5face --- /dev/null +++ b/ProjectSettings/MemorySettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!387306366 &1 +MemorySettings: + m_ObjectHideFlags: 0 + m_EditorMemorySettings: + m_MainAllocatorBlockSize: -1 + m_ThreadAllocatorBlockSize: -1 + m_MainGfxBlockSize: -1 + m_ThreadGfxBlockSize: -1 + m_CacheBlockSize: -1 + m_TypetreeBlockSize: -1 + m_ProfilerBlockSize: -1 + m_ProfilerEditorBlockSize: -1 + m_BucketAllocatorGranularity: -1 + m_BucketAllocatorBucketsCount: -1 + m_BucketAllocatorBlockSize: -1 + m_BucketAllocatorBlockCount: -1 + m_ProfilerBucketAllocatorGranularity: -1 + m_ProfilerBucketAllocatorBucketsCount: -1 + m_ProfilerBucketAllocatorBlockSize: -1 + m_ProfilerBucketAllocatorBlockCount: -1 + m_TempAllocatorSizeMain: -1 + m_JobTempAllocatorBlockSize: -1 + m_BackgroundJobTempAllocatorBlockSize: -1 + m_JobTempAllocatorReducedBlockSize: -1 + m_TempAllocatorSizeGIBakingWorker: -1 + m_TempAllocatorSizeNavMeshWorker: -1 + m_TempAllocatorSizeAudioWorker: -1 + m_TempAllocatorSizeCloudWorker: -1 + m_TempAllocatorSizeGfx: -1 + m_TempAllocatorSizeJobWorker: -1 + m_TempAllocatorSizeBackgroundWorker: -1 + m_TempAllocatorSizePreloadManager: -1 + m_PlatformMemorySettings: {} diff --git a/ProjectSettings/NavMeshAreas.asset b/ProjectSettings/NavMeshAreas.asset new file mode 100644 index 0000000..3b0b7c3 --- /dev/null +++ b/ProjectSettings/NavMeshAreas.asset @@ -0,0 +1,91 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!126 &1 +NavMeshProjectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + areas: + - name: Walkable + cost: 1 + - name: Not Walkable + cost: 1 + - name: Jump + cost: 2 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + m_LastAgentTypeID: -887442657 + m_Settings: + - serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.75 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_SettingNames: + - Humanoid diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 0000000..be4a797 --- /dev/null +++ b/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_EnablePreviewPackages: 0 + m_EnablePackageDependencies: 0 + m_AdvancedSettingsExpanded: 1 + m_ScopedRegistriesSettingsExpanded: 1 + oneTimeWarningShown: 0 + m_Registries: + - m_Id: main + m_Name: + m_Url: https://packages.unity.com + m_Scopes: [] + m_IsDefault: 1 + m_Capabilities: 7 + m_UserSelectedRegistryName: + m_UserAddingNewScopedRegistry: 0 + m_RegistryInfoDraft: + m_ErrorMessage: + m_Original: + m_Id: + m_Name: + m_Url: + m_Scopes: [] + m_IsDefault: 0 + m_Capabilities: 0 + m_Modified: 0 + m_Name: + m_Url: + m_Scopes: + - + m_SelectedScopeIndex: 0 diff --git a/ProjectSettings/Physics2DSettings.asset b/ProjectSettings/Physics2DSettings.asset new file mode 100644 index 0000000..6c5cf8a --- /dev/null +++ b/ProjectSettings/Physics2DSettings.asset @@ -0,0 +1,56 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!19 &1 +Physics2DSettings: + m_ObjectHideFlags: 0 + serializedVersion: 4 + m_Gravity: {x: 0, y: -9.81} + m_DefaultMaterial: {fileID: 0} + m_VelocityIterations: 8 + m_PositionIterations: 3 + m_VelocityThreshold: 1 + m_MaxLinearCorrection: 0.2 + m_MaxAngularCorrection: 8 + m_MaxTranslationSpeed: 100 + m_MaxRotationSpeed: 360 + m_BaumgarteScale: 0.2 + m_BaumgarteTimeOfImpactScale: 0.75 + m_TimeToSleep: 0.5 + m_LinearSleepTolerance: 0.01 + m_AngularSleepTolerance: 2 + m_DefaultContactOffset: 0.01 + m_JobOptions: + serializedVersion: 2 + useMultithreading: 0 + useConsistencySorting: 0 + m_InterpolationPosesPerJob: 100 + m_NewContactsPerJob: 30 + m_CollideContactsPerJob: 100 + m_ClearFlagsPerJob: 200 + m_ClearBodyForcesPerJob: 200 + m_SyncDiscreteFixturesPerJob: 50 + m_SyncContinuousFixturesPerJob: 50 + m_FindNearestContactsPerJob: 100 + m_UpdateTriggerContactsPerJob: 100 + m_IslandSolverCostThreshold: 100 + m_IslandSolverBodyCostScale: 1 + m_IslandSolverContactCostScale: 10 + m_IslandSolverJointCostScale: 10 + m_IslandSolverBodiesPerJob: 50 + m_IslandSolverContactsPerJob: 50 + m_AutoSimulation: 1 + m_QueriesHitTriggers: 1 + m_QueriesStartInColliders: 1 + m_CallbacksOnDisable: 1 + m_ReuseCollisionCallbacks: 0 + m_AutoSyncTransforms: 0 + m_AlwaysShowColliders: 0 + m_ShowColliderSleep: 1 + m_ShowColliderContacts: 0 + m_ShowColliderAABB: 0 + m_ContactArrowScale: 0.2 + m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} + m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} + m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} + m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/ProjectSettings/PresetManager.asset b/ProjectSettings/PresetManager.asset new file mode 100644 index 0000000..67a94da --- /dev/null +++ b/ProjectSettings/PresetManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1386491679 &1 +PresetManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_DefaultPresets: {} diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset new file mode 100644 index 0000000..894be50 --- /dev/null +++ b/ProjectSettings/ProjectSettings.asset @@ -0,0 +1,923 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!129 &1 +PlayerSettings: + m_ObjectHideFlags: 0 + serializedVersion: 26 + productGUID: bd039cc8c068b438f9c0c92fc937286a + AndroidProfiler: 0 + AndroidFilterTouchesWhenObscured: 0 + AndroidEnableSustainedPerformanceMode: 0 + defaultScreenOrientation: 4 + targetDevice: 2 + useOnDemandResources: 0 + accelerometerFrequency: 60 + companyName: DefaultCompany + productName: My project + defaultCursor: {fileID: 0} + cursorHotspot: {x: 0, y: 0} + m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} + m_ShowUnitySplashScreen: 1 + m_ShowUnitySplashLogo: 1 + m_SplashScreenOverlayOpacity: 1 + m_SplashScreenAnimation: 1 + m_SplashScreenLogoStyle: 1 + m_SplashScreenDrawMode: 0 + m_SplashScreenBackgroundAnimationZoom: 1 + m_SplashScreenLogoAnimationZoom: 1 + m_SplashScreenBackgroundLandscapeAspect: 1 + m_SplashScreenBackgroundPortraitAspect: 1 + m_SplashScreenBackgroundLandscapeUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenBackgroundPortraitUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenLogos: [] + m_VirtualRealitySplashScreen: {fileID: 0} + m_HolographicTrackingLossScreen: {fileID: 0} + defaultScreenWidth: 1024 + defaultScreenHeight: 768 + defaultScreenWidthWeb: 960 + defaultScreenHeightWeb: 600 + m_StereoRenderingPath: 0 + m_ActiveColorSpace: 1 + m_SpriteBatchVertexThreshold: 300 + m_MTRendering: 1 + mipStripping: 0 + numberOfMipsStripped: 0 + numberOfMipsStrippedPerMipmapLimitGroup: {} + m_StackTraceTypes: 010000000100000001000000010000000100000001000000 + iosShowActivityIndicatorOnLoading: -1 + androidShowActivityIndicatorOnLoading: -1 + iosUseCustomAppBackgroundBehavior: 0 + allowedAutorotateToPortrait: 1 + allowedAutorotateToPortraitUpsideDown: 1 + allowedAutorotateToLandscapeRight: 1 + allowedAutorotateToLandscapeLeft: 1 + useOSAutorotation: 1 + use32BitDisplayBuffer: 1 + preserveFramebufferAlpha: 0 + disableDepthAndStencilBuffers: 0 + androidStartInFullscreen: 1 + androidRenderOutsideSafeArea: 1 + androidUseSwappy: 0 + androidBlitType: 0 + androidResizableWindow: 0 + androidDefaultWindowWidth: 1920 + androidDefaultWindowHeight: 1080 + androidMinimumWindowWidth: 400 + androidMinimumWindowHeight: 300 + androidFullscreenMode: 1 + defaultIsNativeResolution: 1 + macRetinaSupport: 1 + runInBackground: 0 + captureSingleScreen: 0 + muteOtherAudioSources: 0 + Prepare IOS For Recording: 0 + Force IOS Speakers When Recording: 0 + deferSystemGesturesMode: 0 + hideHomeButton: 0 + submitAnalytics: 1 + usePlayerLog: 1 + dedicatedServerOptimizations: 0 + bakeCollisionMeshes: 0 + forceSingleInstance: 0 + useFlipModelSwapchain: 1 + resizableWindow: 0 + useMacAppStoreValidation: 0 + macAppStoreCategory: public.app-category.games + gpuSkinning: 1 + xboxPIXTextureCapture: 0 + xboxEnableAvatar: 0 + xboxEnableKinect: 0 + xboxEnableKinectAutoTracking: 0 + xboxEnableFitness: 0 + visibleInBackground: 1 + allowFullscreenSwitch: 1 + fullscreenMode: 1 + xboxSpeechDB: 0 + xboxEnableHeadOrientation: 0 + xboxEnableGuest: 0 + xboxEnablePIXSampling: 0 + metalFramebufferOnly: 0 + xboxOneResolution: 0 + xboxOneSResolution: 0 + xboxOneXResolution: 3 + xboxOneMonoLoggingLevel: 0 + xboxOneLoggingLevel: 1 + xboxOneDisableEsram: 0 + xboxOneEnableTypeOptimization: 0 + xboxOnePresentImmediateThreshold: 0 + switchQueueCommandMemory: 1048576 + switchQueueControlMemory: 16384 + switchQueueComputeMemory: 262144 + switchNVNShaderPoolsGranularity: 33554432 + switchNVNDefaultPoolsGranularity: 16777216 + switchNVNOtherPoolsGranularity: 16777216 + switchGpuScratchPoolGranularity: 2097152 + switchAllowGpuScratchShrinking: 0 + switchNVNMaxPublicTextureIDCount: 0 + switchNVNMaxPublicSamplerIDCount: 0 + switchNVNGraphicsFirmwareMemory: 32 + switchMaxWorkerMultiple: 8 + stadiaPresentMode: 0 + stadiaTargetFramerate: 0 + vulkanNumSwapchainBuffers: 3 + vulkanEnableSetSRGBWrite: 0 + vulkanEnablePreTransform: 1 + vulkanEnableLateAcquireNextImage: 0 + vulkanEnableCommandBufferRecycling: 1 + loadStoreDebugModeEnabled: 0 + bundleVersion: 0.1.0 + preloadedAssets: [] + metroInputSource: 0 + wsaTransparentSwapchain: 0 + m_HolographicPauseOnTrackingLoss: 1 + xboxOneDisableKinectGpuReservation: 1 + xboxOneEnable7thCore: 1 + vrSettings: + enable360StereoCapture: 0 + isWsaHolographicRemotingEnabled: 0 + enableFrameTimingStats: 0 + enableOpenGLProfilerGPURecorders: 1 + allowHDRDisplaySupport: 0 + useHDRDisplay: 0 + hdrBitDepth: 0 + m_ColorGamuts: 00000000 + targetPixelDensity: 30 + resolutionScalingMode: 0 + resetResolutionOnWindowResize: 0 + androidSupportedAspectRatio: 1 + androidMaxAspectRatio: 2.1 + applicationIdentifier: + Android: com.UnityTechnologies.com.unity.template.urpblank + Standalone: com.Unity-Technologies.com.unity.template.urp-blank + iPhone: com.Unity-Technologies.com.unity.template.urp-blank + buildNumber: + Standalone: 0 + VisionOS: 0 + iPhone: 0 + tvOS: 0 + overrideDefaultApplicationIdentifier: 1 + AndroidBundleVersionCode: 1 + AndroidMinSdkVersion: 22 + AndroidTargetSdkVersion: 0 + AndroidPreferredInstallLocation: 1 + aotOptions: + stripEngineCode: 1 + iPhoneStrippingLevel: 0 + iPhoneScriptCallOptimization: 0 + ForceInternetPermission: 0 + ForceSDCardPermission: 0 + CreateWallpaper: 0 + APKExpansionFiles: 0 + keepLoadedShadersAlive: 0 + StripUnusedMeshComponents: 0 + strictShaderVariantMatching: 0 + VertexChannelCompressionMask: 4054 + iPhoneSdkVersion: 988 + iOSTargetOSVersionString: 12.0 + tvOSSdkVersion: 0 + tvOSRequireExtendedGameController: 0 + tvOSTargetOSVersionString: 12.0 + VisionOSSdkVersion: 0 + VisionOSTargetOSVersionString: 1.0 + uIPrerenderedIcon: 0 + uIRequiresPersistentWiFi: 0 + uIRequiresFullScreen: 1 + uIStatusBarHidden: 1 + uIExitOnSuspend: 0 + uIStatusBarStyle: 0 + appleTVSplashScreen: {fileID: 0} + appleTVSplashScreen2x: {fileID: 0} + tvOSSmallIconLayers: [] + tvOSSmallIconLayers2x: [] + tvOSLargeIconLayers: [] + tvOSLargeIconLayers2x: [] + tvOSTopShelfImageLayers: [] + tvOSTopShelfImageLayers2x: [] + tvOSTopShelfImageWideLayers: [] + tvOSTopShelfImageWideLayers2x: [] + iOSLaunchScreenType: 0 + iOSLaunchScreenPortrait: {fileID: 0} + iOSLaunchScreenLandscape: {fileID: 0} + iOSLaunchScreenBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreenFillPct: 100 + iOSLaunchScreenSize: 100 + iOSLaunchScreenCustomXibPath: + iOSLaunchScreeniPadType: 0 + iOSLaunchScreeniPadImage: {fileID: 0} + iOSLaunchScreeniPadBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreeniPadFillPct: 100 + iOSLaunchScreeniPadSize: 100 + iOSLaunchScreeniPadCustomXibPath: + iOSLaunchScreenCustomStoryboardPath: + iOSLaunchScreeniPadCustomStoryboardPath: + iOSDeviceRequirements: [] + iOSURLSchemes: [] + macOSURLSchemes: [] + iOSBackgroundModes: 0 + iOSMetalForceHardShadows: 0 + metalEditorSupport: 1 + metalAPIValidation: 1 + iOSRenderExtraFrameOnPause: 0 + iosCopyPluginsCodeInsteadOfSymlink: 0 + appleDeveloperTeamID: + iOSManualSigningProvisioningProfileID: + tvOSManualSigningProvisioningProfileID: + VisionOSManualSigningProvisioningProfileID: + iOSManualSigningProvisioningProfileType: 0 + tvOSManualSigningProvisioningProfileType: 0 + VisionOSManualSigningProvisioningProfileType: 0 + appleEnableAutomaticSigning: 0 + iOSRequireARKit: 0 + iOSAutomaticallyDetectAndAddCapabilities: 1 + appleEnableProMotion: 0 + shaderPrecisionModel: 0 + clonedFromGUID: 3c72c65a16f0acb438eed22b8b16c24a + templatePackageId: com.unity.template.urp-blank@3.0.2 + templateDefaultScene: Assets/Scenes/SampleScene.unity + useCustomMainManifest: 0 + useCustomLauncherManifest: 0 + useCustomMainGradleTemplate: 0 + useCustomLauncherGradleManifest: 0 + useCustomBaseGradleTemplate: 0 + useCustomGradlePropertiesTemplate: 0 + useCustomGradleSettingsTemplate: 0 + useCustomProguardFile: 0 + AndroidTargetArchitectures: 1 + AndroidTargetDevices: 0 + AndroidSplashScreenScale: 0 + androidSplashScreen: {fileID: 0} + AndroidKeystoreName: + AndroidKeyaliasName: + AndroidEnableArmv9SecurityFeatures: 0 + AndroidBuildApkPerCpuArchitecture: 0 + AndroidTVCompatibility: 0 + AndroidIsGame: 1 + AndroidEnableTango: 0 + androidEnableBanner: 1 + androidUseLowAccuracyLocation: 0 + androidUseCustomKeystore: 0 + m_AndroidBanners: + - width: 320 + height: 180 + banner: {fileID: 0} + androidGamepadSupportLevel: 0 + chromeosInputEmulation: 1 + AndroidMinifyRelease: 0 + AndroidMinifyDebug: 0 + AndroidValidateAppBundleSize: 1 + AndroidAppBundleSizeToValidate: 150 + m_BuildTargetIcons: [] + m_BuildTargetPlatformIcons: + - m_BuildTarget: iPhone + m_Icons: + - m_Textures: [] + m_Width: 180 + m_Height: 180 + m_Kind: 0 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 120 + m_Height: 120 + m_Kind: 0 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 167 + m_Height: 167 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 152 + m_Height: 152 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 76 + m_Height: 76 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 120 + m_Height: 120 + m_Kind: 3 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 80 + m_Height: 80 + m_Kind: 3 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 80 + m_Height: 80 + m_Kind: 3 + m_SubKind: iPad + - m_Textures: [] + m_Width: 40 + m_Height: 40 + m_Kind: 3 + m_SubKind: iPad + - m_Textures: [] + m_Width: 87 + m_Height: 87 + m_Kind: 1 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 58 + m_Height: 58 + m_Kind: 1 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 29 + m_Height: 29 + m_Kind: 1 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 58 + m_Height: 58 + m_Kind: 1 + m_SubKind: iPad + - m_Textures: [] + m_Width: 29 + m_Height: 29 + m_Kind: 1 + m_SubKind: iPad + - m_Textures: [] + m_Width: 60 + m_Height: 60 + m_Kind: 2 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 40 + m_Height: 40 + m_Kind: 2 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 40 + m_Height: 40 + m_Kind: 2 + m_SubKind: iPad + - m_Textures: [] + m_Width: 20 + m_Height: 20 + m_Kind: 2 + m_SubKind: iPad + - m_Textures: [] + m_Width: 1024 + m_Height: 1024 + m_Kind: 4 + m_SubKind: App Store + - m_BuildTarget: Android + m_Icons: + - m_Textures: [] + m_Width: 432 + m_Height: 432 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 324 + m_Height: 324 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 216 + m_Height: 216 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 162 + m_Height: 162 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 108 + m_Height: 108 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 81 + m_Height: 81 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 0 + m_SubKind: + - m_BuildTarget: tvOS + m_Icons: + - m_Textures: [] + m_Width: 1280 + m_Height: 768 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 800 + m_Height: 480 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 400 + m_Height: 240 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 4640 + m_Height: 1440 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 2320 + m_Height: 720 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 3840 + m_Height: 1440 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 1920 + m_Height: 720 + m_Kind: 1 + m_SubKind: + m_BuildTargetBatching: [] + m_BuildTargetShaderSettings: [] + m_BuildTargetGraphicsJobs: [] + m_BuildTargetGraphicsJobMode: [] + m_BuildTargetGraphicsAPIs: + - m_BuildTarget: iOSSupport + m_APIs: 10000000 + m_Automatic: 1 + - m_BuildTarget: AndroidPlayer + m_APIs: 150000000b000000 + m_Automatic: 0 + m_BuildTargetVRSettings: [] + m_DefaultShaderChunkSizeInMB: 16 + m_DefaultShaderChunkCount: 0 + openGLRequireES31: 0 + openGLRequireES31AEP: 0 + openGLRequireES32: 0 + m_TemplateCustomTags: {} + mobileMTRendering: + Android: 1 + iPhone: 1 + tvOS: 1 + m_BuildTargetGroupLightmapEncodingQuality: + - m_BuildTarget: Android + m_EncodingQuality: 1 + m_BuildTargetGroupHDRCubemapEncodingQuality: + - m_BuildTarget: Android + m_EncodingQuality: 1 + m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetGroupLoadStoreDebugModeSettings: [] + m_BuildTargetNormalMapEncoding: + - m_BuildTarget: Android + m_Encoding: 1 + m_BuildTargetDefaultTextureCompressionFormat: + - m_BuildTarget: Android + m_Format: 3 + playModeTestRunnerEnabled: 0 + runPlayModeTestAsEditModeTest: 0 + actionOnDotNetUnhandledException: 1 + enableInternalProfiler: 0 + logObjCUncaughtExceptions: 1 + enableCrashReportAPI: 0 + cameraUsageDescription: + locationUsageDescription: + microphoneUsageDescription: + bluetoothUsageDescription: + macOSTargetOSVersion: 10.13.0 + switchNMETAOverride: + switchNetLibKey: + switchSocketMemoryPoolSize: 6144 + switchSocketAllocatorPoolSize: 128 + switchSocketConcurrencyLimit: 14 + switchScreenResolutionBehavior: 2 + switchUseCPUProfiler: 0 + switchEnableFileSystemTrace: 0 + switchUseGOLDLinker: 0 + switchLTOSetting: 0 + switchApplicationID: 0x01004b9000490000 + switchNSODependencies: + switchCompilerFlags: + switchTitleNames_0: + switchTitleNames_1: + switchTitleNames_2: + switchTitleNames_3: + switchTitleNames_4: + switchTitleNames_5: + switchTitleNames_6: + switchTitleNames_7: + switchTitleNames_8: + switchTitleNames_9: + switchTitleNames_10: + switchTitleNames_11: + switchTitleNames_12: + switchTitleNames_13: + switchTitleNames_14: + switchTitleNames_15: + switchPublisherNames_0: + switchPublisherNames_1: + switchPublisherNames_2: + switchPublisherNames_3: + switchPublisherNames_4: + switchPublisherNames_5: + switchPublisherNames_6: + switchPublisherNames_7: + switchPublisherNames_8: + switchPublisherNames_9: + switchPublisherNames_10: + switchPublisherNames_11: + switchPublisherNames_12: + switchPublisherNames_13: + switchPublisherNames_14: + switchPublisherNames_15: + switchIcons_0: {fileID: 0} + switchIcons_1: {fileID: 0} + switchIcons_2: {fileID: 0} + switchIcons_3: {fileID: 0} + switchIcons_4: {fileID: 0} + switchIcons_5: {fileID: 0} + switchIcons_6: {fileID: 0} + switchIcons_7: {fileID: 0} + switchIcons_8: {fileID: 0} + switchIcons_9: {fileID: 0} + switchIcons_10: {fileID: 0} + switchIcons_11: {fileID: 0} + switchIcons_12: {fileID: 0} + switchIcons_13: {fileID: 0} + switchIcons_14: {fileID: 0} + switchIcons_15: {fileID: 0} + switchSmallIcons_0: {fileID: 0} + switchSmallIcons_1: {fileID: 0} + switchSmallIcons_2: {fileID: 0} + switchSmallIcons_3: {fileID: 0} + switchSmallIcons_4: {fileID: 0} + switchSmallIcons_5: {fileID: 0} + switchSmallIcons_6: {fileID: 0} + switchSmallIcons_7: {fileID: 0} + switchSmallIcons_8: {fileID: 0} + switchSmallIcons_9: {fileID: 0} + switchSmallIcons_10: {fileID: 0} + switchSmallIcons_11: {fileID: 0} + switchSmallIcons_12: {fileID: 0} + switchSmallIcons_13: {fileID: 0} + switchSmallIcons_14: {fileID: 0} + switchSmallIcons_15: {fileID: 0} + switchManualHTML: + switchAccessibleURLs: + switchLegalInformation: + switchMainThreadStackSize: 1048576 + switchPresenceGroupId: + switchLogoHandling: 0 + switchReleaseVersion: 0 + switchDisplayVersion: 1.0.0 + switchStartupUserAccount: 0 + switchSupportedLanguagesMask: 0 + switchLogoType: 0 + switchApplicationErrorCodeCategory: + switchUserAccountSaveDataSize: 0 + switchUserAccountSaveDataJournalSize: 0 + switchApplicationAttribute: 0 + switchCardSpecSize: -1 + switchCardSpecClock: -1 + switchRatingsMask: 0 + switchRatingsInt_0: 0 + switchRatingsInt_1: 0 + switchRatingsInt_2: 0 + switchRatingsInt_3: 0 + switchRatingsInt_4: 0 + switchRatingsInt_5: 0 + switchRatingsInt_6: 0 + switchRatingsInt_7: 0 + switchRatingsInt_8: 0 + switchRatingsInt_9: 0 + switchRatingsInt_10: 0 + switchRatingsInt_11: 0 + switchRatingsInt_12: 0 + switchLocalCommunicationIds_0: + switchLocalCommunicationIds_1: + switchLocalCommunicationIds_2: + switchLocalCommunicationIds_3: + switchLocalCommunicationIds_4: + switchLocalCommunicationIds_5: + switchLocalCommunicationIds_6: + switchLocalCommunicationIds_7: + switchParentalControl: 0 + switchAllowsScreenshot: 1 + switchAllowsVideoCapturing: 1 + switchAllowsRuntimeAddOnContentInstall: 0 + switchDataLossConfirmation: 0 + switchUserAccountLockEnabled: 0 + switchSystemResourceMemory: 16777216 + switchSupportedNpadStyles: 22 + switchNativeFsCacheSize: 32 + switchIsHoldTypeHorizontal: 0 + switchSupportedNpadCount: 8 + switchEnableTouchScreen: 1 + switchSocketConfigEnabled: 0 + switchTcpInitialSendBufferSize: 32 + switchTcpInitialReceiveBufferSize: 64 + switchTcpAutoSendBufferSizeMax: 256 + switchTcpAutoReceiveBufferSizeMax: 256 + switchUdpSendBufferSize: 9 + switchUdpReceiveBufferSize: 42 + switchSocketBufferEfficiency: 4 + switchSocketInitializeEnabled: 1 + switchNetworkInterfaceManagerInitializeEnabled: 1 + switchUseNewStyleFilepaths: 0 + switchUseLegacyFmodPriorities: 0 + switchUseMicroSleepForYield: 1 + switchEnableRamDiskSupport: 0 + switchMicroSleepForYieldTime: 25 + switchRamDiskSpaceSize: 12 + ps4NPAgeRating: 12 + ps4NPTitleSecret: + ps4NPTrophyPackPath: + ps4ParentalLevel: 11 + ps4ContentID: ED1633-NPXX51362_00-0000000000000000 + ps4Category: 0 + ps4MasterVersion: 01.00 + ps4AppVersion: 01.00 + ps4AppType: 0 + ps4ParamSfxPath: + ps4VideoOutPixelFormat: 0 + ps4VideoOutInitialWidth: 1920 + ps4VideoOutBaseModeInitialWidth: 1920 + ps4VideoOutReprojectionRate: 60 + ps4PronunciationXMLPath: + ps4PronunciationSIGPath: + ps4BackgroundImagePath: + ps4StartupImagePath: + ps4StartupImagesFolder: + ps4IconImagesFolder: + ps4SaveDataImagePath: + ps4SdkOverride: + ps4BGMPath: + ps4ShareFilePath: + ps4ShareOverlayImagePath: + ps4PrivacyGuardImagePath: + ps4ExtraSceSysFile: + ps4NPtitleDatPath: + ps4RemotePlayKeyAssignment: -1 + ps4RemotePlayKeyMappingDir: + ps4PlayTogetherPlayerCount: 0 + ps4EnterButtonAssignment: 2 + ps4ApplicationParam1: 0 + ps4ApplicationParam2: 0 + ps4ApplicationParam3: 0 + ps4ApplicationParam4: 0 + ps4DownloadDataSize: 0 + ps4GarlicHeapSize: 2048 + ps4ProGarlicHeapSize: 2560 + playerPrefsMaxSize: 32768 + ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ + ps4pnSessions: 1 + ps4pnPresence: 1 + ps4pnFriends: 1 + ps4pnGameCustomData: 1 + playerPrefsSupport: 0 + enableApplicationExit: 0 + resetTempFolder: 1 + restrictedAudioUsageRights: 0 + ps4UseResolutionFallback: 0 + ps4ReprojectionSupport: 0 + ps4UseAudio3dBackend: 0 + ps4UseLowGarlicFragmentationMode: 1 + ps4SocialScreenEnabled: 0 + ps4ScriptOptimizationLevel: 2 + ps4Audio3dVirtualSpeakerCount: 14 + ps4attribCpuUsage: 0 + ps4PatchPkgPath: + ps4PatchLatestPkgPath: + ps4PatchChangeinfoPath: + ps4PatchDayOne: 0 + ps4attribUserManagement: 0 + ps4attribMoveSupport: 0 + ps4attrib3DSupport: 0 + ps4attribShareSupport: 0 + ps4attribExclusiveVR: 0 + ps4disableAutoHideSplash: 0 + ps4videoRecordingFeaturesUsed: 0 + ps4contentSearchFeaturesUsed: 0 + ps4CompatibilityPS5: 0 + ps4AllowPS5Detection: 0 + ps4GPU800MHz: 1 + ps4attribEyeToEyeDistanceSettingVR: 0 + ps4IncludedModules: [] + ps4attribVROutputEnabled: 0 + monoEnv: + splashScreenBackgroundSourceLandscape: {fileID: 0} + splashScreenBackgroundSourcePortrait: {fileID: 0} + blurSplashScreenBackground: 1 + spritePackerPolicy: + webGLMemorySize: 32 + webGLExceptionSupport: 1 + webGLNameFilesAsHashes: 0 + webGLShowDiagnostics: 0 + webGLDataCaching: 1 + webGLDebugSymbols: 0 + webGLEmscriptenArgs: + webGLModulesDirectory: + webGLTemplate: APPLICATION:Default + webGLAnalyzeBuildSize: 0 + webGLUseEmbeddedResources: 0 + webGLCompressionFormat: 0 + webGLWasmArithmeticExceptions: 0 + webGLLinkerTarget: 1 + webGLThreadsSupport: 0 + webGLDecompressionFallback: 0 + webGLInitialMemorySize: 32 + webGLMaximumMemorySize: 2048 + webGLMemoryGrowthMode: 2 + webGLMemoryLinearGrowthStep: 16 + webGLMemoryGeometricGrowthStep: 0.2 + webGLMemoryGeometricGrowthCap: 96 + webGLPowerPreference: 2 + scriptingDefineSymbols: {} + additionalCompilerArguments: {} + platformArchitecture: {} + scriptingBackend: {} + il2cppCompilerConfiguration: {} + il2cppCodeGeneration: {} + managedStrippingLevel: + EmbeddedLinux: 1 + GameCoreScarlett: 1 + GameCoreXboxOne: 1 + Nintendo Switch: 1 + PS4: 1 + PS5: 1 + QNX: 1 + Stadia: 1 + VisionOS: 1 + WebGL: 1 + Windows Store Apps: 1 + XboxOne: 1 + iPhone: 1 + tvOS: 1 + incrementalIl2cppBuild: {} + suppressCommonWarnings: 1 + allowUnsafeCode: 0 + useDeterministicCompilation: 1 + additionalIl2CppArgs: + scriptingRuntimeVersion: 1 + gcIncremental: 0 + gcWBarrierValidation: 0 + apiCompatibilityLevelPerPlatform: {} + m_RenderingPath: 1 + m_MobileRenderingPath: 1 + metroPackageName: My project + metroPackageVersion: + metroCertificatePath: + metroCertificatePassword: + metroCertificateSubject: + metroCertificateIssuer: + metroCertificateNotAfter: 0000000000000000 + metroApplicationDescription: My project + wsaImages: {} + metroTileShortName: + metroTileShowName: 0 + metroMediumTileShowName: 0 + metroLargeTileShowName: 0 + metroWideTileShowName: 0 + metroSupportStreamingInstall: 0 + metroLastRequiredScene: 0 + metroDefaultTileSize: 1 + metroTileForegroundText: 2 + metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} + metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, + a: 1} + metroSplashScreenUseBackgroundColor: 0 + platformCapabilities: {} + metroTargetDeviceFamilies: {} + metroFTAName: + metroFTAFileTypes: [] + metroProtocolName: + vcxProjDefaultLanguage: + XboxOneProductId: + XboxOneUpdateKey: + XboxOneSandboxId: + XboxOneContentId: + XboxOneTitleId: + XboxOneSCId: + XboxOneGameOsOverridePath: + XboxOnePackagingOverridePath: + XboxOneAppManifestOverridePath: + XboxOneVersion: 1.0.0.0 + XboxOnePackageEncryption: 0 + XboxOnePackageUpdateGranularity: 2 + XboxOneDescription: + XboxOneLanguage: + - enus + XboxOneCapability: [] + XboxOneGameRating: {} + XboxOneIsContentPackage: 0 + XboxOneEnhancedXboxCompatibilityMode: 0 + XboxOneEnableGPUVariability: 1 + XboxOneSockets: {} + XboxOneSplashScreen: {fileID: 0} + XboxOneAllowedProductIds: [] + XboxOnePersistentLocalStorageSize: 0 + XboxOneXTitleMemory: 8 + XboxOneOverrideIdentityName: + XboxOneOverrideIdentityPublisher: + vrEditorSettings: {} + cloudServicesEnabled: {} + luminIcon: + m_Name: + m_ModelFolderPath: + m_PortalFolderPath: + luminCert: + m_CertPath: + m_SignPackage: 1 + luminIsChannelApp: 0 + luminVersion: + m_VersionCode: 1 + m_VersionName: + hmiPlayerDataPath: + hmiForceSRGBBlit: 1 + embeddedLinuxEnableGamepadInput: 1 + hmiLogStartupTiming: 0 + hmiCpuConfiguration: + apiCompatibilityLevel: 6 + activeInputHandler: 0 + windowsGamepadBackendHint: 0 + cloudProjectId: + framebufferDepthMemorylessMode: 0 + qualitySettingsNames: [] + projectName: + organizationId: + cloudEnabled: 0 + legacyClampBlendShapeWeights: 0 + hmiLoadingImage: {fileID: 0} + platformRequiresReadableAssets: 0 + virtualTexturingSupportEnabled: 0 + insecureHttpOption: 0 diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt new file mode 100644 index 0000000..37f39b7 --- /dev/null +++ b/ProjectSettings/ProjectVersion.txt @@ -0,0 +1,2 @@ +m_EditorVersion: 2022.3.11f1 +m_EditorVersionWithRevision: 2022.3.11f1 (d00248457e15) diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset new file mode 100644 index 0000000..2c279e7 --- /dev/null +++ b/ProjectSettings/QualitySettings.asset @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!47 &1 +QualitySettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_CurrentQuality: 0 + m_QualitySettings: + - serializedVersion: 3 + name: Balanced + pixelLightCount: 1 + shadows: 1 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + skinWeights: 4 + globalTextureMipmapLimit: 0 + textureMipmapLimitSettings: [] + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + useLegacyDetailDistribution: 1 + vSyncCount: 1 + realtimeGICPUUsage: 25 + lodBias: 1 + maximumLODLevel: 0 + enableLODCrossFade: 1 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 64 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 11400000, guid: e1260c1148f6143b28bae5ace5e9c5d1, + type: 2} + terrainQualityOverrides: 0 + terrainPixelError: 1 + terrainDetailDensityScale: 1 + terrainBasemapDistance: 1000 + terrainDetailDistance: 80 + terrainTreeDistance: 5000 + terrainBillboardStart: 50 + terrainFadeLength: 5 + terrainMaxTrees: 50 + excludedTargetPlatforms: [] + m_TextureMipmapLimitGroupNames: [] + m_PerPlatformDefaultQuality: + Android: 0 + CloudRendering: 0 + GameCoreScarlett: 0 + GameCoreXboxOne: 0 + Lumin: 0 + Nintendo Switch: 0 + PS4: 0 + PS5: 0 + Server: 0 + Stadia: 0 + Standalone: 0 + WebGL: 0 + Windows Store Apps: 0 + XboxOne: 0 + iPhone: 0 + tvOS: 0 diff --git a/ProjectSettings/SceneTemplateSettings.json b/ProjectSettings/SceneTemplateSettings.json new file mode 100644 index 0000000..6f3e60f --- /dev/null +++ b/ProjectSettings/SceneTemplateSettings.json @@ -0,0 +1,167 @@ +{ + "templatePinStates": [], + "dependencyTypeInfos": [ + { + "userAdded": false, + "type": "UnityEngine.AnimationClip", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.Animations.AnimatorController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.AnimatorOverrideController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.Audio.AudioMixerController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.ComputeShader", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Cubemap", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.GameObject", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.LightingDataAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": false + }, + { + "userAdded": false, + "type": "UnityEngine.LightingSettings", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Material", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.MonoScript", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicMaterial", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicsMaterial2D", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.VolumeProfile", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.SceneAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": false + }, + { + "userAdded": false, + "type": "UnityEngine.Shader", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.ShaderVariantCollection", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Texture", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Texture2D", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Timeline.TimelineAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + } + ], + "defaultDependencyTypeInfo": { + "userAdded": false, + "type": "", + "ignore": false, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + "newSceneOverride": 0 +} \ No newline at end of file diff --git a/ProjectSettings/ShaderGraphSettings.asset b/ProjectSettings/ShaderGraphSettings.asset new file mode 100644 index 0000000..9b28428 --- /dev/null +++ b/ProjectSettings/ShaderGraphSettings.asset @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: de02f9e1d18f588468e474319d09a723, type: 3} + m_Name: + m_EditorClassIdentifier: + customInterpolatorErrorThreshold: 32 + customInterpolatorWarningThreshold: 16 diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset new file mode 100644 index 0000000..1c92a78 --- /dev/null +++ b/ProjectSettings/TagManager.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!78 &1 +TagManager: + serializedVersion: 2 + tags: [] + layers: + - Default + - TransparentFX + - Ignore Raycast + - + - Water + - UI + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + m_SortingLayers: + - name: Default + uniqueID: 0 + locked: 0 diff --git a/ProjectSettings/TimeManager.asset b/ProjectSettings/TimeManager.asset new file mode 100644 index 0000000..558a017 --- /dev/null +++ b/ProjectSettings/TimeManager.asset @@ -0,0 +1,9 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!5 &1 +TimeManager: + m_ObjectHideFlags: 0 + Fixed Timestep: 0.02 + Maximum Allowed Timestep: 0.33333334 + m_TimeScale: 1 + Maximum Particle Timestep: 0.03 diff --git a/ProjectSettings/URPProjectSettings.asset b/ProjectSettings/URPProjectSettings.asset new file mode 100644 index 0000000..cd7fd8c --- /dev/null +++ b/ProjectSettings/URPProjectSettings.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LastMaterialVersion: 7 diff --git a/ProjectSettings/UnityConnectSettings.asset b/ProjectSettings/UnityConnectSettings.asset new file mode 100644 index 0000000..a88bee0 --- /dev/null +++ b/ProjectSettings/UnityConnectSettings.asset @@ -0,0 +1,36 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!310 &1 +UnityConnectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 1 + m_Enabled: 0 + m_TestMode: 0 + m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events + m_EventUrl: https://cdp.cloud.unity3d.com/v1/events + m_ConfigUrl: https://config.uca.cloud.unity3d.com + m_DashboardUrl: https://dashboard.unity3d.com + m_TestInitMode: 0 + CrashReportingSettings: + m_EventUrl: https://perf-events.cloud.unity3d.com + m_Enabled: 0 + m_LogBufferSize: 10 + m_CaptureEditorExceptions: 1 + UnityPurchasingSettings: + m_Enabled: 0 + m_TestMode: 0 + UnityAnalyticsSettings: + m_Enabled: 0 + m_TestMode: 0 + m_InitializeOnStartup: 1 + m_PackageRequiringCoreStatsPresent: 0 + UnityAdsSettings: + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_IosGameId: + m_AndroidGameId: + m_GameIds: {} + m_GameId: + PerformanceReportingSettings: + m_Enabled: 0 diff --git a/ProjectSettings/VFXManager.asset b/ProjectSettings/VFXManager.asset new file mode 100644 index 0000000..3a95c98 --- /dev/null +++ b/ProjectSettings/VFXManager.asset @@ -0,0 +1,12 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!937362698 &1 +VFXManager: + m_ObjectHideFlags: 0 + m_IndirectShader: {fileID: 0} + m_CopyBufferShader: {fileID: 0} + m_SortShader: {fileID: 0} + m_StripUpdateShader: {fileID: 0} + m_RenderPipeSettingsPath: + m_FixedTimeStep: 0.016666668 + m_MaxDeltaTime: 0.05 diff --git a/ProjectSettings/VersionControlSettings.asset b/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 0000000..dca2881 --- /dev/null +++ b/ProjectSettings/VersionControlSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!890905787 &1 +VersionControlSettings: + m_ObjectHideFlags: 0 + m_Mode: Visible Meta Files + m_CollabEditorSettings: + inProgressEnabled: 1 diff --git a/ProjectSettings/XRSettings.asset b/ProjectSettings/XRSettings.asset new file mode 100644 index 0000000..482590c --- /dev/null +++ b/ProjectSettings/XRSettings.asset @@ -0,0 +1,10 @@ +{ + "m_SettingKeys": [ + "VR Device Disabled", + "VR Device User Alert" + ], + "m_SettingValues": [ + "False", + "False" + ] +} \ No newline at end of file From ec6676abc6c9e9f51c487a457a964b365d0f8826 Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Wed, 25 Oct 2023 17:27:10 +0200 Subject: [PATCH 02/17] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Update=20Rider=20pac?= =?UTF-8?q?kage=20to=203.0.26?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Packages/manifest.json | 2 +- Packages/packages-lock.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Packages/manifest.json b/Packages/manifest.json index 769ef38..a527aaf 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,6 +1,6 @@ { "dependencies": { - "com.unity.ide.rider": "3.0.25", + "com.unity.ide.rider": "3.0.26", "com.unity.render-pipelines.universal": "14.0.9", "com.unity.test-framework": "1.1.33", "com.unity.textmeshpro": "3.0.6", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index f9dae3d..56c53b8 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -17,7 +17,7 @@ "url": "https://packages.unity.com" }, "com.unity.ide.rider": { - "version": "3.0.25", + "version": "3.0.26", "depth": 0, "source": "registry", "dependencies": { From ffb4630d2ec1f8ef7b0e11040094dd9ea25c9dce Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Sun, 29 Oct 2023 18:40:48 +0100 Subject: [PATCH 03/17] =?UTF-8?q?=E2=9C=A8=20Add=20first=20working=20versi?= =?UTF-8?q?on=20for=20Vector2Int?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both the code and the layout can be improved, but let's get it working before improving the solution. --- Assets/Scripts/MinMaxRangeAttribute.cs | 32 +++++++++ Assets/Scripts/MinMaxRangeAttribute.cs.meta | 11 ++++ Assets/Scripts/MinMaxRangeDrawer.cs | 72 +++++++++++++++++++++ Assets/Scripts/MinMaxRangeDrawer.cs.meta | 3 + 4 files changed, 118 insertions(+) create mode 100644 Assets/Scripts/MinMaxRangeAttribute.cs create mode 100644 Assets/Scripts/MinMaxRangeAttribute.cs.meta create mode 100644 Assets/Scripts/MinMaxRangeDrawer.cs create mode 100644 Assets/Scripts/MinMaxRangeDrawer.cs.meta diff --git a/Assets/Scripts/MinMaxRangeAttribute.cs b/Assets/Scripts/MinMaxRangeAttribute.cs new file mode 100644 index 0000000..7a64c52 --- /dev/null +++ b/Assets/Scripts/MinMaxRangeAttribute.cs @@ -0,0 +1,32 @@ +using System; +using UnityEngine; + +namespace SneakySquirrelLabs.MinMaxRangeAttribute +{ + [AttributeUsage(AttributeTargets.Field)] + public class MinMaxRangeAttribute : PropertyAttribute + { + #region Fields + + public float Min; + public float Max; + + #endregion + + #region Setup + + public MinMaxRangeAttribute(int min, int max) + { + Min = min; + Max = max; + } + + public MinMaxRangeAttribute(float min, float max) + { + Min = min; + Max = max; + } + + #endregion + } +} diff --git a/Assets/Scripts/MinMaxRangeAttribute.cs.meta b/Assets/Scripts/MinMaxRangeAttribute.cs.meta new file mode 100644 index 0000000..de205b4 --- /dev/null +++ b/Assets/Scripts/MinMaxRangeAttribute.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 13a9d5c925fa84c0a91cfdbd80c2788a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MinMaxRangeDrawer.cs b/Assets/Scripts/MinMaxRangeDrawer.cs new file mode 100644 index 0000000..06a8e57 --- /dev/null +++ b/Assets/Scripts/MinMaxRangeDrawer.cs @@ -0,0 +1,72 @@ +using System.Globalization; +using UnityEditor; +using UnityEngine; + +namespace SneakySquirrelLabs.MinMaxRangeAttribute +{ + [CustomPropertyDrawer(typeof(MinMaxRangeAttribute))] + internal class MinMaxRangeDrawer : PropertyDrawer + { + #region Fields + + private const float Spacing = 5f; + + #endregion + + #region Update + + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + var minMaxAttribute = attribute as MinMaxRangeAttribute; + if (minMaxAttribute == null) + { + Debug.LogError("Min max range attribute failed to draw."); + return; + } + + var min = minMaxAttribute.Min; + var max = minMaxAttribute.Max; + + if (property.propertyType == SerializedPropertyType.Vector2Int) + { + var value = property.vector2IntValue; + var x = (float) value.x; + var y = (float) value.y; + var labelPosition = new Rect(position) { width = EditorGUIUtility.labelWidth }; + EditorGUI.LabelField(labelPosition, property.displayName); + var minLabel = new GUIContent(((int)min).ToString()); + var maxLabel = new GUIContent(((int)max).ToString()); + var style = new GUIStyle(GUI.skin.label); + var minLabelWidth = style.CalcSize(minLabel).x; + var maxLabelWidth = style.CalcSize(maxLabel).x; + var minLabelPosition = new Rect(position) { x = position.x + labelPosition.width, width = minLabelWidth}; + EditorGUI.LabelField(minLabelPosition, minLabel); + var sliderWidth = position.width - labelPosition.width - minLabelWidth - maxLabelWidth - 2 * Spacing; + var sliderPosition = new Rect(position) { x = minLabelPosition.xMax + Spacing, width = sliderWidth }; + EditorGUI.MinMaxSlider(sliderPosition, ref x, ref y, min, max); + var maxLabelPosition = new Rect(position) { x = sliderPosition.xMax + Spacing, width = maxLabelWidth }; + EditorGUI.LabelField(maxLabelPosition, maxLabel); + property.vector2IntValue = new Vector2Int((int)x, (int)y); + var valuesY = position.y + sliderPosition.height + EditorGUIUtility.standardVerticalSpacing; + style.alignment = TextAnchor.MiddleRight; + sliderWidth -= 10; + DrawValueLabel((int)x, min, max, sliderPosition.xMin, valuesY, sliderWidth, style, true); + style.alignment = TextAnchor.MiddleLeft; + DrawValueLabel((int)y, min, max, sliderPosition.xMin, valuesY, sliderWidth, style, false); + + static void DrawValueLabel(int value, float min, float max, float x, float y, float width, GUIStyle style, bool alignRight) + { + var label = new GUIContent(value.ToString()); + var labelSize = style.CalcSize(label); + var padding = alignRight ? -labelSize.x/2 : 0; + x += (value - min) / (max - min) * width + padding; + var position = new Rect(x, y, labelSize.x, labelSize.y); + EditorGUI.LabelField(position, label, style); + } + + } + } + + #endregion + } +} \ No newline at end of file diff --git a/Assets/Scripts/MinMaxRangeDrawer.cs.meta b/Assets/Scripts/MinMaxRangeDrawer.cs.meta new file mode 100644 index 0000000..f81df9a --- /dev/null +++ b/Assets/Scripts/MinMaxRangeDrawer.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 102563fb20e04234931fd056480ea37b +timeCreated: 1698247682 \ No newline at end of file From 197af9ebab86ff03559519f6d4724a68074c7d45 Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Sun, 29 Oct 2023 18:42:49 +0100 Subject: [PATCH 04/17] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Make=20min=20and=20m?= =?UTF-8?q?ax=20attribute=20fields=20read-only?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This won't change behavior much, but it can save some headache in the future. --- Assets/Scripts/MinMaxRangeAttribute.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Assets/Scripts/MinMaxRangeAttribute.cs b/Assets/Scripts/MinMaxRangeAttribute.cs index 7a64c52..f078e99 100644 --- a/Assets/Scripts/MinMaxRangeAttribute.cs +++ b/Assets/Scripts/MinMaxRangeAttribute.cs @@ -8,8 +8,8 @@ public class MinMaxRangeAttribute : PropertyAttribute { #region Fields - public float Min; - public float Max; + public readonly float Min; + public readonly float Max; #endregion From f35a7d19dfbed7a967530da056944016ad4977f4 Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Sun, 29 Oct 2023 19:30:22 +0100 Subject: [PATCH 05/17] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Refactor=20code=20fo?= =?UTF-8?q?r=20Vector2Int=20drawer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/MinMaxRangeDrawer.cs | 85 +++++++++++++++++++---------- 1 file changed, 57 insertions(+), 28 deletions(-) diff --git a/Assets/Scripts/MinMaxRangeDrawer.cs b/Assets/Scripts/MinMaxRangeDrawer.cs index 06a8e57..9379491 100644 --- a/Assets/Scripts/MinMaxRangeDrawer.cs +++ b/Assets/Scripts/MinMaxRangeDrawer.cs @@ -1,4 +1,3 @@ -using System.Globalization; using UnityEditor; using UnityEngine; @@ -10,6 +9,8 @@ internal class MinMaxRangeDrawer : PropertyDrawer #region Fields private const float Spacing = 5f; + private const float OffsetX = -17f; + private const float OffsetY = 3f; #endregion @@ -17,8 +18,7 @@ internal class MinMaxRangeDrawer : PropertyDrawer public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { - var minMaxAttribute = attribute as MinMaxRangeAttribute; - if (minMaxAttribute == null) + if (attribute is not MinMaxRangeAttribute minMaxAttribute) { Debug.LogError("Min max range attribute failed to draw."); return; @@ -32,38 +32,67 @@ public override void OnGUI(Rect position, SerializedProperty property, GUIConten var value = property.vector2IntValue; var x = (float) value.x; var y = (float) value.y; - var labelPosition = new Rect(position) { width = EditorGUIUtility.labelWidth }; - EditorGUI.LabelField(labelPosition, property.displayName); - var minLabel = new GUIContent(((int)min).ToString()); - var maxLabel = new GUIContent(((int)max).ToString()); + var consumedX = 0f; + + // Field name + consumedX += DrawFieldName(position, property); + + // Min label var style = new GUIStyle(GUI.skin.label); - var minLabelWidth = style.CalcSize(minLabel).x; - var maxLabelWidth = style.CalcSize(maxLabel).x; - var minLabelPosition = new Rect(position) { x = position.x + labelPosition.width, width = minLabelWidth}; - EditorGUI.LabelField(minLabelPosition, minLabel); - var sliderWidth = position.width - labelPosition.width - minLabelWidth - maxLabelWidth - 2 * Spacing; - var sliderPosition = new Rect(position) { x = minLabelPosition.xMax + Spacing, width = sliderWidth }; + var minLabel = new GUIContent($"{min:F0}"); + consumedX += DrawLabel(position, consumedX, minLabel, style); + consumedX += Spacing; // Add spacing between min label and slider + + // Slider + var maxLabel = new GUIContent($"{max:F0}"); + var maxLabelWidth = style.CalcSize(maxLabel).x; // We need to know the max label's size + var sliderWidth = position.width - consumedX - maxLabelWidth - Spacing; + var sliderPosition = new Rect(position) { x = position.x + consumedX, width = sliderWidth }; EditorGUI.MinMaxSlider(sliderPosition, ref x, ref y, min, max); - var maxLabelPosition = new Rect(position) { x = sliderPosition.xMax + Spacing, width = maxLabelWidth }; - EditorGUI.LabelField(maxLabelPosition, maxLabel); - property.vector2IntValue = new Vector2Int((int)x, (int)y); + consumedX += sliderWidth + Spacing; + + // Save value + value.x = (int)x; + value.y = (int)y; + property.vector2IntValue = value; + + // Max label + DrawLabel(position, consumedX, maxLabel, style); + + // Value labels var valuesY = position.y + sliderPosition.height + EditorGUIUtility.standardVerticalSpacing; style.alignment = TextAnchor.MiddleRight; - sliderWidth -= 10; - DrawValueLabel((int)x, min, max, sliderPosition.xMin, valuesY, sliderWidth, style, true); + // X label + var labelsPosition = new Rect(sliderPosition) { y = valuesY }; + DrawValueLabel(labelsPosition, value.x, min, max, style, OffsetX); + // Label style.alignment = TextAnchor.MiddleLeft; - DrawValueLabel((int)y, min, max, sliderPosition.xMin, valuesY, sliderWidth, style, false); + DrawValueLabel(labelsPosition, value.y, min, max, style, OffsetY); + } - static void DrawValueLabel(int value, float min, float max, float x, float y, float width, GUIStyle style, bool alignRight) - { - var label = new GUIContent(value.ToString()); - var labelSize = style.CalcSize(label); - var padding = alignRight ? -labelSize.x/2 : 0; - x += (value - min) / (max - min) * width + padding; - var position = new Rect(x, y, labelSize.x, labelSize.y); - EditorGUI.LabelField(position, label, style); - } + static float DrawFieldName(Rect position, SerializedProperty property) + { + var labelPosition = new Rect(position) { width = EditorGUIUtility.labelWidth }; + EditorGUI.LabelField(labelPosition, property.displayName); + return labelPosition.width; + } + static float DrawLabel(Rect position, float xOffset, GUIContent label, GUIStyle style) + { + var size = style.CalcSize(label); + var minLabelPosition = new Rect(position) { x = position.x + xOffset, width = size.x}; + EditorGUI.LabelField(minLabelPosition, label, style); + return size.x; + } + + static void DrawValueLabel(Rect position, int value, float min, float max, GUIStyle style, float offset) + { + var label = new GUIContent(value.ToString()); + var labelSize = style.CalcSize(label); + var relativePosition = (value - min) / (max - min); + var x = position.x + relativePosition * position.width + offset; + var labelPosition = new Rect(position) { x = x, width = labelSize.x}; + EditorGUI.LabelField(labelPosition, label, style); } } From d7dd32cfff719aa03d0062b6aa875c406375fafd Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Mon, 30 Oct 2023 16:30:35 +0100 Subject: [PATCH 06/17] =?UTF-8?q?=E2=9C=A8=20Add=20support=20for=20Vector2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/MinMaxRangeDrawer.cs | 128 ++++++++++++++++++---------- 1 file changed, 82 insertions(+), 46 deletions(-) diff --git a/Assets/Scripts/MinMaxRangeDrawer.cs b/Assets/Scripts/MinMaxRangeDrawer.cs index 9379491..0bc36e0 100644 --- a/Assets/Scripts/MinMaxRangeDrawer.cs +++ b/Assets/Scripts/MinMaxRangeDrawer.cs @@ -1,3 +1,4 @@ +using System; using UnityEditor; using UnityEngine; @@ -8,14 +9,28 @@ internal class MinMaxRangeDrawer : PropertyDrawer { #region Fields - private const float Spacing = 5f; + private const float HorizontalSpacing = 5f; private const float OffsetX = -17f; private const float OffsetY = 3f; + private static readonly float VerticalSpacing = EditorGUIUtility.standardVerticalSpacing; + + private static GUIStyle LabelStyleField; + + #endregion + + #region Properties + + private static GUIStyle LabelStyle => LabelStyleField ??= new GUIStyle(GUI.skin.label); #endregion #region Update + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + return base.GetPropertyHeight(property, label) * 2; + } + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { if (attribute is not MinMaxRangeAttribute minMaxAttribute) @@ -30,70 +45,91 @@ public override void OnGUI(Rect position, SerializedProperty property, GUIConten if (property.propertyType == SerializedPropertyType.Vector2Int) { var value = property.vector2IntValue; - var x = (float) value.x; - var y = (float) value.y; + var x = (float)value.x; + var y = (float)value.y; + DrawSlider(position, property, min, max, ref x, ref y, BuildIntLabel); + value.x = (int)x; + value.y = (int)y; + property.vector2IntValue = value; + } + else if (property.propertyType == SerializedPropertyType.Vector2) + { + var value = property.vector2Value; + var x = value.x; + var y = value.y; + DrawSlider(position, property, min, max, ref x, ref y, BuildFloatLabel); + value.x = x; + value.y = y; + property.vector2Value = value; + } + + static void DrawSlider(Rect position, SerializedProperty property, float min, float max, ref float x, + ref float y, Func buildLabel) + { var consumedX = 0f; + var firstLineRect = new Rect(position) { height = position.height / 2 - VerticalSpacing}; // Field name - consumedX += DrawFieldName(position, property); + consumedX += DrawFieldName(firstLineRect, property); // Min label - var style = new GUIStyle(GUI.skin.label); - var minLabel = new GUIContent($"{min:F0}"); - consumedX += DrawLabel(position, consumedX, minLabel, style); - consumedX += Spacing; // Add spacing between min label and slider + var minLabel = buildLabel(min); + consumedX += DrawLabel(firstLineRect, consumedX, minLabel); + consumedX += HorizontalSpacing; // Add spacing between min label and slider // Slider - var maxLabel = new GUIContent($"{max:F0}"); - var maxLabelWidth = style.CalcSize(maxLabel).x; // We need to know the max label's size - var sliderWidth = position.width - consumedX - maxLabelWidth - Spacing; - var sliderPosition = new Rect(position) { x = position.x + consumedX, width = sliderWidth }; + var maxLabel = buildLabel(max); + var maxLabelWidth = LabelStyle.CalcSize(maxLabel).x; // We need to know the max label's size + var sliderWidth = firstLineRect.width - consumedX - maxLabelWidth - HorizontalSpacing; + var sliderPosition = new Rect(firstLineRect) { x = firstLineRect.x + consumedX, width = sliderWidth }; EditorGUI.MinMaxSlider(sliderPosition, ref x, ref y, min, max); - consumedX += sliderWidth + Spacing; - - // Save value - value.x = (int)x; - value.y = (int)y; - property.vector2IntValue = value; + // consumedX += DrawSlider(position, maxLabelWidth, min, max, ref x, ref y); + consumedX += sliderWidth + HorizontalSpacing; // Max label - DrawLabel(position, consumedX, maxLabel, style); + DrawLabel(firstLineRect, consumedX, maxLabel); // Value labels - var valuesY = position.y + sliderPosition.height + EditorGUIUtility.standardVerticalSpacing; - style.alignment = TextAnchor.MiddleRight; + var secondLineRect = new Rect(position) { y = position.y, height = firstLineRect.height}; + var valuesY = secondLineRect.y + sliderPosition.height + EditorGUIUtility.standardVerticalSpacing; + LabelStyle.alignment = TextAnchor.MiddleRight; // X label var labelsPosition = new Rect(sliderPosition) { y = valuesY }; - DrawValueLabel(labelsPosition, value.x, min, max, style, OffsetX); + DrawValueLabel(labelsPosition, x, min, max, OffsetX, buildLabel); // Label - style.alignment = TextAnchor.MiddleLeft; - DrawValueLabel(labelsPosition, value.y, min, max, style, OffsetY); - } + LabelStyle.alignment = TextAnchor.MiddleLeft; + DrawValueLabel(labelsPosition, y, min, max, OffsetY, buildLabel); + + static float DrawFieldName(Rect position, SerializedProperty property) + { + var labelPosition = new Rect(position) { width = EditorGUIUtility.labelWidth }; + EditorGUI.LabelField(labelPosition, property.displayName); + return labelPosition.width; + } - static float DrawFieldName(Rect position, SerializedProperty property) - { - var labelPosition = new Rect(position) { width = EditorGUIUtility.labelWidth }; - EditorGUI.LabelField(labelPosition, property.displayName); - return labelPosition.width; - } + static float DrawLabel(Rect position, float xOffset, GUIContent label) + { + var size = LabelStyle.CalcSize(label); + var minLabelPosition = new Rect(position) { x = position.x + xOffset, width = size.x}; + EditorGUI.LabelField(minLabelPosition, label, LabelStyle); + return size.x; + } - static float DrawLabel(Rect position, float xOffset, GUIContent label, GUIStyle style) - { - var size = style.CalcSize(label); - var minLabelPosition = new Rect(position) { x = position.x + xOffset, width = size.x}; - EditorGUI.LabelField(minLabelPosition, label, style); - return size.x; + static void DrawValueLabel(Rect position, float value, float min, float max, + float offset, Func buildLabel) + { + var label = buildLabel(value); + var labelSize = LabelStyle.CalcSize(label); + var relativePosition = (value - min) / (max - min); + var x = position.x + relativePosition * position.width + offset; + var labelPosition = new Rect(position) { x = x, width = labelSize.x }; + EditorGUI.LabelField(labelPosition, label, LabelStyle); + } } + + static GUIContent BuildIntLabel(float value) => new($"{value:F0}"); - static void DrawValueLabel(Rect position, int value, float min, float max, GUIStyle style, float offset) - { - var label = new GUIContent(value.ToString()); - var labelSize = style.CalcSize(label); - var relativePosition = (value - min) / (max - min); - var x = position.x + relativePosition * position.width + offset; - var labelPosition = new Rect(position) { x = x, width = labelSize.x}; - EditorGUI.LabelField(labelPosition, label, style); - } + static GUIContent BuildFloatLabel(float value) => new($"{value:F1}"); } #endregion From 31e4867e3123d754c795cd5af2f712d38c3ab41f Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Mon, 30 Oct 2023 16:42:24 +0100 Subject: [PATCH 07/17] =?UTF-8?q?=E2=9C=A8=20Add=20float=20decimals=20opti?= =?UTF-8?q?on?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Its default value is 1, and it supports values in the [0,3] range. --- Assets/Scripts/MinMaxRangeAttribute.cs | 4 +++- Assets/Scripts/MinMaxRangeDrawer.cs | 17 +++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/MinMaxRangeAttribute.cs b/Assets/Scripts/MinMaxRangeAttribute.cs index f078e99..1b03304 100644 --- a/Assets/Scripts/MinMaxRangeAttribute.cs +++ b/Assets/Scripts/MinMaxRangeAttribute.cs @@ -10,6 +10,7 @@ public class MinMaxRangeAttribute : PropertyAttribute public readonly float Min; public readonly float Max; + public readonly uint Decimals; #endregion @@ -21,10 +22,11 @@ public MinMaxRangeAttribute(int min, int max) Max = max; } - public MinMaxRangeAttribute(float min, float max) + public MinMaxRangeAttribute(float min, float max, uint decimals = 1) { Min = min; Max = max; + Decimals = decimals; } #endregion diff --git a/Assets/Scripts/MinMaxRangeDrawer.cs b/Assets/Scripts/MinMaxRangeDrawer.cs index 0bc36e0..7dad99a 100644 --- a/Assets/Scripts/MinMaxRangeDrawer.cs +++ b/Assets/Scripts/MinMaxRangeDrawer.cs @@ -15,6 +15,7 @@ internal class MinMaxRangeDrawer : PropertyDrawer private static readonly float VerticalSpacing = EditorGUIUtility.standardVerticalSpacing; private static GUIStyle LabelStyleField; + private uint _decimals; #endregion @@ -41,6 +42,7 @@ public override void OnGUI(Rect position, SerializedProperty property, GUIConten var min = minMaxAttribute.Min; var max = minMaxAttribute.Max; + _decimals = minMaxAttribute.Decimals; if (property.propertyType == SerializedPropertyType.Vector2Int) { @@ -128,8 +130,19 @@ static void DrawValueLabel(Rect position, float value, float min, float max, } static GUIContent BuildIntLabel(float value) => new($"{value:F0}"); - - static GUIContent BuildFloatLabel(float value) => new($"{value:F1}"); + + GUIContent BuildFloatLabel(float value) + { + var floatLabel = _decimals switch + { + 0 => $"{value:F0}", + 1 => $"{value:F1}", + 2 => $"{value:F2}", + 3 => $"{value:F3}", + _ => throw new NotSupportedException("Min max attribute supports up to 3 decimal places.") + }; + return new GUIContent(floatLabel); + } } #endregion From 5f35609aa57f6189deca6bbeb193a839536199a2 Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Mon, 30 Oct 2023 17:12:55 +0100 Subject: [PATCH 08/17] =?UTF-8?q?=F0=9F=92=84=20Fine=20tune=20value=20labe?= =?UTF-8?q?ls=20placement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/MinMaxRangeDrawer.cs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Assets/Scripts/MinMaxRangeDrawer.cs b/Assets/Scripts/MinMaxRangeDrawer.cs index 7dad99a..1132b4b 100644 --- a/Assets/Scripts/MinMaxRangeDrawer.cs +++ b/Assets/Scripts/MinMaxRangeDrawer.cs @@ -10,11 +10,11 @@ internal class MinMaxRangeDrawer : PropertyDrawer #region Fields private const float HorizontalSpacing = 5f; - private const float OffsetX = -17f; - private const float OffsetY = 3f; + private const float SliderHandlerWidth = 12f; + private static readonly float VerticalSpacing = EditorGUIUtility.standardVerticalSpacing; - private static GUIStyle LabelStyleField; + private uint _decimals; #endregion @@ -94,13 +94,11 @@ static void DrawSlider(Rect position, SerializedProperty property, float min, fl // Value labels var secondLineRect = new Rect(position) { y = position.y, height = firstLineRect.height}; var valuesY = secondLineRect.y + sliderPosition.height + EditorGUIUtility.standardVerticalSpacing; - LabelStyle.alignment = TextAnchor.MiddleRight; // X label var labelsPosition = new Rect(sliderPosition) { y = valuesY }; - DrawValueLabel(labelsPosition, x, min, max, OffsetX, buildLabel); + DrawValueLabel(labelsPosition, x, min, max, true, buildLabel); // Label - LabelStyle.alignment = TextAnchor.MiddleLeft; - DrawValueLabel(labelsPosition, y, min, max, OffsetY, buildLabel); + DrawValueLabel(labelsPosition, y, min, max, false, buildLabel); static float DrawFieldName(Rect position, SerializedProperty property) { @@ -117,13 +115,15 @@ static float DrawLabel(Rect position, float xOffset, GUIContent label) return size.x; } - static void DrawValueLabel(Rect position, float value, float min, float max, - float offset, Func buildLabel) + static void DrawValueLabel(Rect position, float value, float min, float max, bool applyExtraOffset, + Func buildLabel) { var label = buildLabel(value); var labelSize = LabelStyle.CalcSize(label); var relativePosition = (value - min) / (max - min); - var x = position.x + relativePosition * position.width + offset; + var offset = SliderHandlerWidth / 2 + (applyExtraOffset ? -labelSize.x : 0); + var totalWidth = position.width - SliderHandlerWidth; + var x = position.x + relativePosition * totalWidth + offset; var labelPosition = new Rect(position) { x = x, width = labelSize.x }; EditorGUI.LabelField(labelPosition, label, LabelStyle); } From 509790848fbcd5252e3da489ec5595323fd27908 Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Tue, 31 Oct 2023 08:39:07 +0100 Subject: [PATCH 09/17] =?UTF-8?q?=F0=9F=9A=9A=20Move=20all=20source=20code?= =?UTF-8?q?=20to=20Libraries=20folder?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Libraries.meta | 8 ++++++++ Assets/Libraries/MinMaxRangeAttribute.meta | 8 ++++++++ .../MinMaxRangeAttribute}/MinMaxRangeAttribute.cs | 0 .../MinMaxRangeAttribute}/MinMaxRangeAttribute.cs.meta | 0 .../MinMaxRangeAttribute}/MinMaxRangeDrawer.cs | 0 .../MinMaxRangeAttribute}/MinMaxRangeDrawer.cs.meta | 0 6 files changed, 16 insertions(+) create mode 100644 Assets/Libraries.meta create mode 100644 Assets/Libraries/MinMaxRangeAttribute.meta rename Assets/{Scripts => Libraries/MinMaxRangeAttribute}/MinMaxRangeAttribute.cs (100%) rename Assets/{Scripts => Libraries/MinMaxRangeAttribute}/MinMaxRangeAttribute.cs.meta (100%) rename Assets/{Scripts => Libraries/MinMaxRangeAttribute}/MinMaxRangeDrawer.cs (100%) rename Assets/{Scripts => Libraries/MinMaxRangeAttribute}/MinMaxRangeDrawer.cs.meta (100%) diff --git a/Assets/Libraries.meta b/Assets/Libraries.meta new file mode 100644 index 0000000..183d2ad --- /dev/null +++ b/Assets/Libraries.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0bff655722f954faeb20e36d56c1cebb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Libraries/MinMaxRangeAttribute.meta b/Assets/Libraries/MinMaxRangeAttribute.meta new file mode 100644 index 0000000..38298df --- /dev/null +++ b/Assets/Libraries/MinMaxRangeAttribute.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c04b52a0a6ff444d88e79b5452d451bc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MinMaxRangeAttribute.cs b/Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeAttribute.cs similarity index 100% rename from Assets/Scripts/MinMaxRangeAttribute.cs rename to Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeAttribute.cs diff --git a/Assets/Scripts/MinMaxRangeAttribute.cs.meta b/Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeAttribute.cs.meta similarity index 100% rename from Assets/Scripts/MinMaxRangeAttribute.cs.meta rename to Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeAttribute.cs.meta diff --git a/Assets/Scripts/MinMaxRangeDrawer.cs b/Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeDrawer.cs similarity index 100% rename from Assets/Scripts/MinMaxRangeDrawer.cs rename to Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeDrawer.cs diff --git a/Assets/Scripts/MinMaxRangeDrawer.cs.meta b/Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeDrawer.cs.meta similarity index 100% rename from Assets/Scripts/MinMaxRangeDrawer.cs.meta rename to Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeDrawer.cs.meta From 72bc4eea19ab58c78e0d1a72d699ca91fa79ae90 Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Tue, 31 Oct 2023 08:50:43 +0100 Subject: [PATCH 10/17] =?UTF-8?q?=F0=9F=94=A7=20Add=20assembly=20definitio?= =?UTF-8?q?n=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Libraries/MinMaxRangeAttribute/Editor.meta | 8 ++++++++ .../{ => Editor}/MinMaxRangeDrawer.cs | 2 +- .../{ => Editor}/MinMaxRangeDrawer.cs.meta | 0 ...rrelLabs.MinMaxRangeAttribute.Editor.asmdef | 18 ++++++++++++++++++ ...abs.MinMaxRangeAttribute.Editor.asmdef.meta | 7 +++++++ ...akySquirrelLabs.MinMaxRangeAttribute.asmdef | 14 ++++++++++++++ ...uirrelLabs.MinMaxRangeAttribute.asmdef.meta | 7 +++++++ 7 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 Assets/Libraries/MinMaxRangeAttribute/Editor.meta rename Assets/Libraries/MinMaxRangeAttribute/{ => Editor}/MinMaxRangeDrawer.cs (98%) rename Assets/Libraries/MinMaxRangeAttribute/{ => Editor}/MinMaxRangeDrawer.cs.meta (100%) create mode 100644 Assets/Libraries/MinMaxRangeAttribute/Editor/SneakySquirrelLabs.MinMaxRangeAttribute.Editor.asmdef create mode 100644 Assets/Libraries/MinMaxRangeAttribute/Editor/SneakySquirrelLabs.MinMaxRangeAttribute.Editor.asmdef.meta create mode 100644 Assets/Libraries/MinMaxRangeAttribute/SneakySquirrelLabs.MinMaxRangeAttribute.asmdef create mode 100644 Assets/Libraries/MinMaxRangeAttribute/SneakySquirrelLabs.MinMaxRangeAttribute.asmdef.meta diff --git a/Assets/Libraries/MinMaxRangeAttribute/Editor.meta b/Assets/Libraries/MinMaxRangeAttribute/Editor.meta new file mode 100644 index 0000000..8defeab --- /dev/null +++ b/Assets/Libraries/MinMaxRangeAttribute/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3ea37f06757bb499ba3e10cf8e7c6b83 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeDrawer.cs b/Assets/Libraries/MinMaxRangeAttribute/Editor/MinMaxRangeDrawer.cs similarity index 98% rename from Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeDrawer.cs rename to Assets/Libraries/MinMaxRangeAttribute/Editor/MinMaxRangeDrawer.cs index 1132b4b..94dd85b 100644 --- a/Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeDrawer.cs +++ b/Assets/Libraries/MinMaxRangeAttribute/Editor/MinMaxRangeDrawer.cs @@ -2,7 +2,7 @@ using UnityEditor; using UnityEngine; -namespace SneakySquirrelLabs.MinMaxRangeAttribute +namespace SneakySquirrelLabs.MinMaxRangeAttribute.Editor { [CustomPropertyDrawer(typeof(MinMaxRangeAttribute))] internal class MinMaxRangeDrawer : PropertyDrawer diff --git a/Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeDrawer.cs.meta b/Assets/Libraries/MinMaxRangeAttribute/Editor/MinMaxRangeDrawer.cs.meta similarity index 100% rename from Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeDrawer.cs.meta rename to Assets/Libraries/MinMaxRangeAttribute/Editor/MinMaxRangeDrawer.cs.meta diff --git a/Assets/Libraries/MinMaxRangeAttribute/Editor/SneakySquirrelLabs.MinMaxRangeAttribute.Editor.asmdef b/Assets/Libraries/MinMaxRangeAttribute/Editor/SneakySquirrelLabs.MinMaxRangeAttribute.Editor.asmdef new file mode 100644 index 0000000..36d8adf --- /dev/null +++ b/Assets/Libraries/MinMaxRangeAttribute/Editor/SneakySquirrelLabs.MinMaxRangeAttribute.Editor.asmdef @@ -0,0 +1,18 @@ +{ + "name": "SneakySquirrelLabs.MinMaxRangeAttribute.Editor", + "rootNamespace": "SneakySquirrelLabs.MinMaxRangeAttribute.Editor", + "references": [ + "GUID:397edf9bfe7ea4399b706e9ee953b982" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Assets/Libraries/MinMaxRangeAttribute/Editor/SneakySquirrelLabs.MinMaxRangeAttribute.Editor.asmdef.meta b/Assets/Libraries/MinMaxRangeAttribute/Editor/SneakySquirrelLabs.MinMaxRangeAttribute.Editor.asmdef.meta new file mode 100644 index 0000000..4f54e9d --- /dev/null +++ b/Assets/Libraries/MinMaxRangeAttribute/Editor/SneakySquirrelLabs.MinMaxRangeAttribute.Editor.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 11e35f417bae74ef7a789052742623c8 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Libraries/MinMaxRangeAttribute/SneakySquirrelLabs.MinMaxRangeAttribute.asmdef b/Assets/Libraries/MinMaxRangeAttribute/SneakySquirrelLabs.MinMaxRangeAttribute.asmdef new file mode 100644 index 0000000..d716b54 --- /dev/null +++ b/Assets/Libraries/MinMaxRangeAttribute/SneakySquirrelLabs.MinMaxRangeAttribute.asmdef @@ -0,0 +1,14 @@ +{ + "name": "SneakySquirrelLabs.MinMaxRangeAttribute", + "rootNamespace": "SneakySquirrelLabs.MinMaxRangeAttribute", + "references": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Assets/Libraries/MinMaxRangeAttribute/SneakySquirrelLabs.MinMaxRangeAttribute.asmdef.meta b/Assets/Libraries/MinMaxRangeAttribute/SneakySquirrelLabs.MinMaxRangeAttribute.asmdef.meta new file mode 100644 index 0000000..82ba6ae --- /dev/null +++ b/Assets/Libraries/MinMaxRangeAttribute/SneakySquirrelLabs.MinMaxRangeAttribute.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 397edf9bfe7ea4399b706e9ee953b982 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: From ce57422ebdd88c6f2d47e82a295f4db21a15e286 Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Tue, 31 Oct 2023 08:58:03 +0100 Subject: [PATCH 11/17] =?UTF-8?q?=F0=9F=93=9D=20Comment=20attribute=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MinMaxRangeAttribute/MinMaxRangeAttribute.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeAttribute.cs b/Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeAttribute.cs index 1b03304..c8b9cb1 100644 --- a/Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeAttribute.cs +++ b/Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeAttribute.cs @@ -3,6 +3,9 @@ namespace SneakySquirrelLabs.MinMaxRangeAttribute { + /// + /// An attribute that simplifies defining bounded ranges (ranges with a minimum and maximum) on the inspector. + /// [AttributeUsage(AttributeTargets.Field)] public class MinMaxRangeAttribute : PropertyAttribute { @@ -16,12 +19,24 @@ public class MinMaxRangeAttribute : PropertyAttribute #region Setup + /// + /// A bounded range for integers. + /// + /// The minimum acceptable value. + /// The maximum acceptable value. public MinMaxRangeAttribute(int min, int max) { Min = min; Max = max; } + /// + /// A bounded range for floats. + /// + /// The minimum acceptable value. + /// The maximum acceptable value. + /// How many decimals the inspector labels should display. Values must be in the [0,3] + /// range. Default is 1. public MinMaxRangeAttribute(float min, float max, uint decimals = 1) { Min = min; From 596fc25454733991fc527d58aacfaa96de2a9972 Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Wed, 1 Nov 2023 13:39:17 +0100 Subject: [PATCH 12/17] =?UTF-8?q?=F0=9F=94=A7=20Add=20package.json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MinMaxRangeAttribute/package.json | 22 +++++++++++++++++++ .../MinMaxRangeAttribute/package.json.meta | 7 ++++++ 2 files changed, 29 insertions(+) create mode 100644 Assets/Libraries/MinMaxRangeAttribute/package.json create mode 100644 Assets/Libraries/MinMaxRangeAttribute/package.json.meta diff --git a/Assets/Libraries/MinMaxRangeAttribute/package.json b/Assets/Libraries/MinMaxRangeAttribute/package.json new file mode 100644 index 0000000..b4310e0 --- /dev/null +++ b/Assets/Libraries/MinMaxRangeAttribute/package.json @@ -0,0 +1,22 @@ +{ + "name": "com.sneakysquirrellabs.minmaxrangeattribute", + "version": "1.0.0", + "displayName": "Min/max range attribute", + "description": "A bounded (i.e., with a mininum and maximum) range attribute for Unity's Vector2 and Vector2Int fields.", + "unity": "2021.3", + "documentationUrl": "https://github.com/matheusamazonas/min_max_range_attribute", + "changelogUrl": "https://github.com/matheusamazonas/min_max_range_attribute/releases", + "licensesUrl": "https://github.com/matheusamazonas/min_max_range_attribute/LICENSE", + "keywords": [ + "editor", + "attribute", + "terrain inspector", + "vector", + "range" + ], + "author": { + "name": "Matheus Amazonas", + "email": "matheus.amazonas@gmail.com", + "url": "https://matheusamazonas.net" + } +} diff --git a/Assets/Libraries/MinMaxRangeAttribute/package.json.meta b/Assets/Libraries/MinMaxRangeAttribute/package.json.meta new file mode 100644 index 0000000..bd505af --- /dev/null +++ b/Assets/Libraries/MinMaxRangeAttribute/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7762c3faa493d43878373cb9f4265bba +PackageManifestImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: From eaf249b4aea65656c691e6b3d51bd7167b7260be Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Wed, 1 Nov 2023 13:42:55 +0100 Subject: [PATCH 13/17] =?UTF-8?q?=E2=9C=8F=EF=B8=8F=20Fix=20type=20in=20pa?= =?UTF-8?q?ckage.json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Libraries/MinMaxRangeAttribute/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Libraries/MinMaxRangeAttribute/package.json b/Assets/Libraries/MinMaxRangeAttribute/package.json index b4310e0..90719e7 100644 --- a/Assets/Libraries/MinMaxRangeAttribute/package.json +++ b/Assets/Libraries/MinMaxRangeAttribute/package.json @@ -2,7 +2,7 @@ "name": "com.sneakysquirrellabs.minmaxrangeattribute", "version": "1.0.0", "displayName": "Min/max range attribute", - "description": "A bounded (i.e., with a mininum and maximum) range attribute for Unity's Vector2 and Vector2Int fields.", + "description": "A bounded (i.e., with a minimum and maximum) range attribute for Unity's Vector2 and Vector2Int fields.", "unity": "2021.3", "documentationUrl": "https://github.com/matheusamazonas/min_max_range_attribute", "changelogUrl": "https://github.com/matheusamazonas/min_max_range_attribute/releases", From f18f0abecd44257983521273f983b43eb1406cb0 Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Wed, 1 Nov 2023 14:58:38 +0100 Subject: [PATCH 14/17] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Add=20"limit"=20and?= =?UTF-8?q?=20"value"=20to=20variable=20names?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit So it's consistent with Unity's API --- .../Editor/MinMaxRangeDrawer.cs | 31 +++++++++---------- .../MinMaxRangeAttribute.cs | 26 ++++++++-------- 2 files changed, 28 insertions(+), 29 deletions(-) diff --git a/Assets/Libraries/MinMaxRangeAttribute/Editor/MinMaxRangeDrawer.cs b/Assets/Libraries/MinMaxRangeAttribute/Editor/MinMaxRangeDrawer.cs index 94dd85b..3f2cfa1 100644 --- a/Assets/Libraries/MinMaxRangeAttribute/Editor/MinMaxRangeDrawer.cs +++ b/Assets/Libraries/MinMaxRangeAttribute/Editor/MinMaxRangeDrawer.cs @@ -40,28 +40,28 @@ public override void OnGUI(Rect position, SerializedProperty property, GUIConten return; } - var min = minMaxAttribute.Min; - var max = minMaxAttribute.Max; + var minLimit = minMaxAttribute.MinLimit; + var maxLimit = minMaxAttribute.MaxLimit; _decimals = minMaxAttribute.Decimals; if (property.propertyType == SerializedPropertyType.Vector2Int) { var value = property.vector2IntValue; - var x = (float)value.x; - var y = (float)value.y; - DrawSlider(position, property, min, max, ref x, ref y, BuildIntLabel); - value.x = (int)x; - value.y = (int)y; + var minValue = (float)value.x; + var maxValue = (float)value.y; + DrawSlider(position, property, minLimit, maxLimit, ref minValue, ref maxValue, BuildIntLabel); + value.x = (int)minValue; + value.y = (int)maxValue; property.vector2IntValue = value; } else if (property.propertyType == SerializedPropertyType.Vector2) { var value = property.vector2Value; - var x = value.x; - var y = value.y; - DrawSlider(position, property, min, max, ref x, ref y, BuildFloatLabel); - value.x = x; - value.y = y; + var minValue = value.x; + var maxValue = value.y; + DrawSlider(position, property, minLimit, maxLimit, ref minValue, ref maxValue, BuildFloatLabel); + value.x = minValue; + value.y = maxValue; property.vector2Value = value; } @@ -85,7 +85,6 @@ static void DrawSlider(Rect position, SerializedProperty property, float min, fl var sliderWidth = firstLineRect.width - consumedX - maxLabelWidth - HorizontalSpacing; var sliderPosition = new Rect(firstLineRect) { x = firstLineRect.x + consumedX, width = sliderWidth }; EditorGUI.MinMaxSlider(sliderPosition, ref x, ref y, min, max); - // consumedX += DrawSlider(position, maxLabelWidth, min, max, ref x, ref y); consumedX += sliderWidth + HorizontalSpacing; // Max label @@ -115,12 +114,12 @@ static float DrawLabel(Rect position, float xOffset, GUIContent label) return size.x; } - static void DrawValueLabel(Rect position, float value, float min, float max, bool applyExtraOffset, - Func buildLabel) + static void DrawValueLabel(Rect position, float value, float minLimit, float maxLimit, + bool applyExtraOffset, Func buildLabel) { var label = buildLabel(value); var labelSize = LabelStyle.CalcSize(label); - var relativePosition = (value - min) / (max - min); + var relativePosition = (value - minLimit) / (maxLimit - minLimit); var offset = SliderHandlerWidth / 2 + (applyExtraOffset ? -labelSize.x : 0); var totalWidth = position.width - SliderHandlerWidth; var x = position.x + relativePosition * totalWidth + offset; diff --git a/Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeAttribute.cs b/Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeAttribute.cs index c8b9cb1..c07dffe 100644 --- a/Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeAttribute.cs +++ b/Assets/Libraries/MinMaxRangeAttribute/MinMaxRangeAttribute.cs @@ -4,15 +4,15 @@ namespace SneakySquirrelLabs.MinMaxRangeAttribute { /// - /// An attribute that simplifies defining bounded ranges (ranges with a minimum and maximum) on the inspector. + /// An attribute that simplifies defining bounded ranges (ranges with minimum and maximum limits) on the inspector. /// [AttributeUsage(AttributeTargets.Field)] public class MinMaxRangeAttribute : PropertyAttribute { #region Fields - public readonly float Min; - public readonly float Max; + public readonly float MinLimit; + public readonly float MaxLimit; public readonly uint Decimals; #endregion @@ -22,25 +22,25 @@ public class MinMaxRangeAttribute : PropertyAttribute /// /// A bounded range for integers. /// - /// The minimum acceptable value. - /// The maximum acceptable value. - public MinMaxRangeAttribute(int min, int max) + /// The minimum acceptable value. + /// The maximum acceptable value. + public MinMaxRangeAttribute(int minLimit, int maxLimit) { - Min = min; - Max = max; + MinLimit = minLimit; + MaxLimit = maxLimit; } /// /// A bounded range for floats. /// - /// The minimum acceptable value. - /// The maximum acceptable value. + /// The minimum acceptable value. + /// The maximum acceptable value. /// How many decimals the inspector labels should display. Values must be in the [0,3] /// range. Default is 1. - public MinMaxRangeAttribute(float min, float max, uint decimals = 1) + public MinMaxRangeAttribute(float minLimit, float maxLimit, uint decimals = 1) { - Min = min; - Max = max; + MinLimit = minLimit; + MaxLimit = maxLimit; Decimals = decimals; } From fa557709e090e48c72044001ca00a6cb0953bc17 Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Wed, 1 Nov 2023 16:03:16 +0100 Subject: [PATCH 15/17] =?UTF-8?q?=F0=9F=99=88=20Add=20Obsidian=20folder=20?= =?UTF-8?q?to=20gitignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 93d17b6..05eaf52 100644 --- a/.gitignore +++ b/.gitignore @@ -101,3 +101,6 @@ fabric.properties ## Unity editor user settings UserSettings/* + +# Obsidian +.obsidian/ From 94d5075ca6485b2c6df798d3a2a0d090f1df427f Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Wed, 1 Nov 2023 16:07:07 +0100 Subject: [PATCH 16/17] =?UTF-8?q?=F0=9F=93=9D=20Add=20README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..db56350 --- /dev/null +++ b/README.md @@ -0,0 +1,91 @@ +# Min/max Range Attribute +A bounded (i.e., with a minimum and maximum) range attribute for Unity's `Vector2` and `Vector2Int` fields that draws fields as min/max range sliders, easing the definition of bounded ranges on the inspector. + +![Five examples of attribute usage on the Unity inspector.](https://matheusamazonas.net/min_max_range_attribute_site/assets/images/header.gif) + +## Features +- Intuitive, compact inspector representation. +- Support for Unity's `Vector2` and `Vector2Int` types. +- Easy to use: just add the attribute to a serialized field of a supported type. +- Custom floating-point decimal places (0 to 3). +- Error prevention. Unlike using separate fields for minimum and maximum, value integrity is guaranteed (e.g., the minimum will never be greater than the maximum) by the inspector. +- Uses built-in Unity's [`EditorGUILayout.MinMaxSlider`](https://docs.unity3d.com/ScriptReference/EditorGUILayout.MinMaxSlider.html) under the hood. + + +## Usage +To use the attribute, simply add it to a serialized field of a supported type (`Vector2` or `Vector2Int`). Its inspector representation will be a [`MinMaxSlider`](https://docs.unity3d.com/ScriptReference/EditorGUILayout.MinMaxSlider.html), a slider than can be used to represent a range within minimum and maximum limits. The left handle controls the vector's `x` component and the right handle controls the vector's + +### Vector2 usage +When using the attribute on a field of type `Vector2`, its constructor takes 3 arguments: +- `minLimit`: the minimum possible value (lower bound). +- `maxLimit`: the maximum possible value (upper bound). +- `decimals`: how many decimal places the inspector should display. Default is 1 and values must be in the [0, 3] range. + +For example, the field below has `minLimit` equal to 0, `maxLimit` equal to 10 and `decimals` equal to 3: +```csharp +[MinMaxRange(0f, 10f, 3)] +[SerializeField] private Vector2 _optimalSpeed = new (3.141f, 5.789f); +``` + +And its inspector representation is: +![](https://matheusamazonas.net/min_max_range_attribute_site/assets/images/usage/vector_2.png) + +If `decimals` is 2 (`MinMaxRange(0f, 10f, 2)`): +![](https://matheusamazonas.net/min_max_range_attribute_site/assets/images/usage/vector_2.png) + +The default value of `decimals` is 1, so we might as well omit the parameter if we would like to display only 1 decimal place: +```csharp +[MinMaxRange(0f, 10f)] +[SerializeField] private Vector2 _optimalSpeed = new (3.141f, 5.789f); +``` + +Which will be displayed as: +![](https://matheusamazonas.net/min_max_range_attribute_site/assets/images/usage/vector_1.png) + +Keep in mind that the `decimals` parameter only controls how the value labels will be displayed on the inspector. It doesn't control the values' precision. + +### Vector2Int usage +When using the attribute on a field of type `Vector2Int`, its constructor takes 2 arguments, similar to `RangeAttribute`'s parameters: +- `minLimit`: the minimum possible value (lower bound). +- `maxLimit`: the maximum possible value (upper bound). + +For example, the field below has `minLimit` equal to 0 and `maxLimit` equal to 10: +```csharp +[MinMaxRange(0, 10)] +[SerializeField] private Vector2Int _rewardRange = new(2, 4); +``` +And its inspector representation is: +![](https://matheusamazonas.net/min_max_range_attribute_site/assets/images/usage/vector_int.png) + +## Importing +The first step is to import the library into your Unity project. There are two ways to do so: via the Package Manager using a git URL, and via OpenUPM. + +### Import using a git URL +This approach uses Unity's Package Manager to add the attribute to your project using the repo's git URL. To do so, navigate to `Window > Package Manager` in Unity. Then click on the `+` and select "Add package from git URL": + +![](https://matheusamazonas.net/min_max_range_attribute_site/assets/images/upm_adding.png) + +Next, enter the following in the "URL" input field to install the latest version of the attribute: +``` +https://github.com/matheusamazonas/min_max_range_attribute.git?path=Assets/Libraries/MinMaxRangeAttribute#latest +``` +Finally, click on the "Add" button. The importing process should start automatically. Once it's done, the attribute can be used in your project. + +### Import with OpenUPM +Min/max Range Attribute is available as a package on [OpenUPM](https://openupm.com/packages/com.sneakysquirrellabs.terracedterraingenerator/). To import it into your project via the command line, run the following command: +``` +openupm add com.sneakysquirrellabs.minmaxrangeattribute +``` +Once the importing process is complete, the attribute can be used in your project. + +## Compatibility and dependencies +The Min/max Range Attribute requires Unity 2021.3.X or above, its target API compatibility level is .NET Standard 2.1, and it does not depend on any other packages. + +## Contributing +If you would like to report e bug, please create an [issue](https://github.com/matheusamazonas/min_max_range_attribute/issues). If you would like to contribute with bug fixing or small improvements, please open a Pull Request. If you would like to contribute with a new feature, [contact the developer](https://matheusamazonas.net/contact.html). + +## Getting help +Use the [issues page](https://github.com/matheusamazonas/min_max_range_attribute/issues) if there's a problem with your setup, if something isn't working as expected, or if you would like to ask questions about the tool and its usage. + +## License +Terraced Terrain Generator is distributed under the terms of the MIT license. For more information, check the [LICENSE](https://github.com/matheusamazonas/min_max_range_attribute/main/LICENSE) file in this repository. \ No newline at end of file From ef9e942191b8360d0c70c22d5f81f6c45dd7644d Mon Sep 17 00:00:00 2001 From: Matheus Amazonas Date: Wed, 1 Nov 2023 16:11:24 +0100 Subject: [PATCH 17/17] =?UTF-8?q?=E2=9C=8F=EF=B8=8F=20Fix=20references=20t?= =?UTF-8?q?o=20TTG=20on=20README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The README was copied from TTG's, so there were some missing references there. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index db56350..c89e709 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ https://github.com/matheusamazonas/min_max_range_attribute.git?path=Assets/Libra Finally, click on the "Add" button. The importing process should start automatically. Once it's done, the attribute can be used in your project. ### Import with OpenUPM -Min/max Range Attribute is available as a package on [OpenUPM](https://openupm.com/packages/com.sneakysquirrellabs.terracedterraingenerator/). To import it into your project via the command line, run the following command: +Min/max Range Attribute is available as a package on [OpenUPM](https://openupm.com/packages/com.sneakysquirrellabs.minmaxrangeattribute/). To import it into your project via the command line, run the following command: ``` openupm add com.sneakysquirrellabs.minmaxrangeattribute ``` @@ -88,4 +88,4 @@ If you would like to report e bug, please create an [issue](https://github.com/m Use the [issues page](https://github.com/matheusamazonas/min_max_range_attribute/issues) if there's a problem with your setup, if something isn't working as expected, or if you would like to ask questions about the tool and its usage. ## License -Terraced Terrain Generator is distributed under the terms of the MIT license. For more information, check the [LICENSE](https://github.com/matheusamazonas/min_max_range_attribute/main/LICENSE) file in this repository. \ No newline at end of file +Min/max Range Attribute is distributed under the terms of the MIT license. For more information, check the [LICENSE](https://github.com/matheusamazonas/min_max_range_attribute/main/LICENSE) file in this repository. \ No newline at end of file