From a1b1d7475fc517d3c458d8107f4eee427264016c Mon Sep 17 00:00:00 2001 From: Michal Pikulski Date: Mon, 8 Sep 2025 14:25:50 +0200 Subject: [PATCH] Preliminary screen rotation work --- Assets/AddressableAssetsData/Android.meta | 8 + .../ProfileDataSourceSettings.asset | 28 ++ .../ProfileDataSourceSettings.asset.meta | 8 + .../Settings/SceneOrientationConfig.asset | 2 + .../Placeholders/phone_rotate_icon_bright.png | Bin 0 -> 72707 bytes .../phone_rotate_icon_bright.png.meta | 247 +++++++++++++++++ .../Managers/OrientationEnforcer.prefab | 7 +- Assets/Prefabs/UI/RotatePhonePrompt.prefab | 252 ++++++++++++++++++ .../Prefabs/UI/RotatePhonePrompt.prefab.meta | 7 + .../Scenes/Levels/AppleHillsOverworld.unity | 102 ------- Assets/Scripts/Core/SceneManagerService.cs | 9 + .../Utility/SceneOrientationEnforcer.cs | 44 ++- ProjectSettings/EditorBuildSettings.asset | 3 + ProjectSettings/ProjectSettings.asset | 2 +- ProjectSettings/ScriptableBuildPipeline.json | 14 + 15 files changed, 621 insertions(+), 112 deletions(-) create mode 100644 Assets/AddressableAssetsData/Android.meta create mode 100644 Assets/AddressableAssetsData/ProfileDataSourceSettings.asset create mode 100644 Assets/AddressableAssetsData/ProfileDataSourceSettings.asset.meta create mode 100644 Assets/External/Placeholders/phone_rotate_icon_bright.png create mode 100644 Assets/External/Placeholders/phone_rotate_icon_bright.png.meta create mode 100644 Assets/Prefabs/UI/RotatePhonePrompt.prefab create mode 100644 Assets/Prefabs/UI/RotatePhonePrompt.prefab.meta create mode 100644 ProjectSettings/ScriptableBuildPipeline.json diff --git a/Assets/AddressableAssetsData/Android.meta b/Assets/AddressableAssetsData/Android.meta new file mode 100644 index 00000000..0dc92489 --- /dev/null +++ b/Assets/AddressableAssetsData/Android.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a85dfdebd3f5096419f74f6fb97a5409 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AddressableAssetsData/ProfileDataSourceSettings.asset b/Assets/AddressableAssetsData/ProfileDataSourceSettings.asset new file mode 100644 index 00000000..77e68a21 --- /dev/null +++ b/Assets/AddressableAssetsData/ProfileDataSourceSettings.asset @@ -0,0 +1,28 @@ +%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: 7e3976da977cb49238499ea3b4c237ae, type: 3} + m_Name: ProfileDataSourceSettings + m_EditorClassIdentifier: + profileGroupTypes: + - m_GroupTypePrefix: Built-In + m_Variables: + - m_Suffix: BuildPath + m_Value: '[UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]' + - m_Suffix: LoadPath + m_Value: '{UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]' + environments: [] + currentEnvironment: + id: + projectId: + projectGenesisId: + name: + isDefault: 0 diff --git a/Assets/AddressableAssetsData/ProfileDataSourceSettings.asset.meta b/Assets/AddressableAssetsData/ProfileDataSourceSettings.asset.meta new file mode 100644 index 00000000..8ba840a9 --- /dev/null +++ b/Assets/AddressableAssetsData/ProfileDataSourceSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bb60edc6957419d4b8df060e3ae4cea0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Data/Settings/SceneOrientationConfig.asset b/Assets/Data/Settings/SceneOrientationConfig.asset index f1e6386d..301f84fc 100644 --- a/Assets/Data/Settings/SceneOrientationConfig.asset +++ b/Assets/Data/Settings/SceneOrientationConfig.asset @@ -16,4 +16,6 @@ MonoBehaviour: - sceneName: AppleHillsOverworld requiredOrientation: 1 - sceneName: Quarry + requiredOrientation: 1 + - sceneName: DivingForPictures requiredOrientation: 0 diff --git a/Assets/External/Placeholders/phone_rotate_icon_bright.png b/Assets/External/Placeholders/phone_rotate_icon_bright.png new file mode 100644 index 0000000000000000000000000000000000000000..c78186d3764c7e575edc31bf042cc575f9f87b9b GIT binary patch literal 72707 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 d|**HzXADB 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 literal 0 HcmV?d00001 diff --git a/Assets/External/Placeholders/phone_rotate_icon_bright.png.meta b/Assets/External/Placeholders/phone_rotate_icon_bright.png.meta new file mode 100644 index 00000000..032966b1 --- /dev/null +++ b/Assets/External/Placeholders/phone_rotate_icon_bright.png.meta @@ -0,0 +1,247 @@ +fileFormatVersion: 2 +guid: 88c76cf41fc4ca544b8415d6dafcd724 +TextureImporter: + internalIDToNameTable: + - first: + 213: 2429436977845379445 + second: phone_rotate_icon_bright_0 + - first: + 213: -2827197661845893404 + second: phone_rotate_icon_bright_1 + - first: + 213: -2802147840623308386 + second: phone_rotate_icon_bright_2 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: phone_rotate_icon_bright_0 + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 607 + height: 783 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 5712ca44f0817b120800000000000000 + internalID: 2429436977845379445 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: phone_rotate_icon_bright_1 + rect: + serializedVersion: 2 + x: 86 + y: 79 + width: 1069 + height: 1151 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 4ee4cd7a4b6c3c8d0800000000000000 + internalID: -2827197661845893404 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: phone_rotate_icon_bright_2 + rect: + serializedVersion: 2 + x: 627 + y: 526 + width: 608 + height: 782 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: e911587a265cc19d0800000000000000 + internalID: -2802147840623308386 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + phone_rotate_icon_bright_0: 2429436977845379445 + phone_rotate_icon_bright_1: -2827197661845893404 + phone_rotate_icon_bright_2: -2802147840623308386 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Managers/OrientationEnforcer.prefab b/Assets/Prefabs/Managers/OrientationEnforcer.prefab index 13289a08..d7fbc9c0 100644 --- a/Assets/Prefabs/Managers/OrientationEnforcer.prefab +++ b/Assets/Prefabs/Managers/OrientationEnforcer.prefab @@ -44,8 +44,5 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 5be782e6ff7641519b9bad2e7552d4e8, type: 3} m_Name: m_EditorClassIdentifier: - orientationConfig: {fileID: 0} - orientationPromptPrefab: {fileID: 0} - OnOrientationCorrect: - m_PersistentCalls: - m_Calls: [] + orientationConfig: {fileID: 11400000, guid: 5b21ef7a641efc44894a81133f630a72, type: 2} + orientationPromptPrefab: {fileID: 1623605963847279276, guid: 6d4a1ab6e7c77794d9eb5d831aec2760, type: 3} diff --git a/Assets/Prefabs/UI/RotatePhonePrompt.prefab b/Assets/Prefabs/UI/RotatePhonePrompt.prefab new file mode 100644 index 00000000..dce162a3 --- /dev/null +++ b/Assets/Prefabs/UI/RotatePhonePrompt.prefab @@ -0,0 +1,252 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1623605963847279276 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1614704825815915889} + - component: {fileID: 3470864167901233145} + - component: {fileID: 7886918006470379689} + - component: {fileID: 280690881832684780} + m_Layer: 5 + m_Name: RotatePhonePrompt + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1614704825815915889 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1623605963847279276} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8616645766584744153} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!223 &3470864167901233145 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1623605963847279276} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &7886918006470379689 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1623605963847279276} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0.7 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!114 &280690881832684780 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1623605963847279276} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1 &3407809351792513479 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1191850872734820192} + - component: {fileID: 3345941047559356740} + - component: {fileID: 8760708585814085759} + m_Layer: 5 + m_Name: RawImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1191850872734820192 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3407809351792513479} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8616645766584744153} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 202.0984, y: 202.0984} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3345941047559356740 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3407809351792513479} + m_CullTransparentMesh: 1 +--- !u!114 &8760708585814085759 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3407809351792513479} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 2800000, guid: 88c76cf41fc4ca544b8415d6dafcd724, type: 3} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!1 &6765591687779444510 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8616645766584744153} + - component: {fileID: 296675081633481440} + - component: {fileID: 7094361996067581634} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8616645766584744153 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6765591687779444510} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1191850872734820192} + m_Father: {fileID: 1614704825815915889} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -507.0728, y: -285.1542} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &296675081633481440 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6765591687779444510} + m_CullTransparentMesh: 1 +--- !u!114 &7094361996067581634 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6765591687779444510} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.06415099, g: 0.052168068, b: 0.052168068, a: 0.72156864} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 diff --git a/Assets/Prefabs/UI/RotatePhonePrompt.prefab.meta b/Assets/Prefabs/UI/RotatePhonePrompt.prefab.meta new file mode 100644 index 00000000..c9cefb18 --- /dev/null +++ b/Assets/Prefabs/UI/RotatePhonePrompt.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6d4a1ab6e7c77794d9eb5d831aec2760 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Levels/AppleHillsOverworld.unity b/Assets/Scenes/Levels/AppleHillsOverworld.unity index b5579b92..f3112e13 100644 --- a/Assets/Scenes/Levels/AppleHillsOverworld.unity +++ b/Assets/Scenes/Levels/AppleHillsOverworld.unity @@ -1042,107 +1042,6 @@ PrefabInstance: insertIndex: -1 addedObject: {fileID: 1631660124} m_SourcePrefab: {fileID: 100100000, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3} ---- !u!1 &1369934763 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1369934767} - - component: {fileID: 1369934766} - - component: {fileID: 1369934765} - - component: {fileID: 1369934764} - m_Layer: 5 - m_Name: RotatePhonePrompt - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1369934764 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1369934763} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &1369934765 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1369934763} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 1920, y: 1080} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0.7 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 0 ---- !u!223 &1369934766 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1369934763} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_VertexColorAlwaysGammaSpace: 0 - m_AdditionalShaderChannelsFlag: 0 - m_UpdateRectTransformForStandalone: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!224 &1369934767 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1369934763} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} --- !u!4 &1553825406 stripped Transform: m_CorrespondingSourceObject: {fileID: 2844046668579196942, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3} @@ -23590,4 +23489,3 @@ SceneRoots: - {fileID: 1578994555} - {fileID: 1234715653} - {fileID: 1336824707} - - {fileID: 1369934767} diff --git a/Assets/Scripts/Core/SceneManagerService.cs b/Assets/Scripts/Core/SceneManagerService.cs index 1e2f71bb..c8b3ca84 100644 --- a/Assets/Scripts/Core/SceneManagerService.cs +++ b/Assets/Scripts/Core/SceneManagerService.cs @@ -201,6 +201,15 @@ public class SceneManagerService : MonoBehaviour // Switches from current gameplay scene to a new one public async Task SwitchSceneAsync(string newSceneName, IProgress progress = null) { + // Remove all AstarPath (A* Pathfinder) singletons before loading the new scene + var astarPaths = FindObjectsByType(FindObjectsSortMode.None); + foreach (var astar in astarPaths) + { + if (Application.isPlaying) + Destroy(astar.gameObject); + else + DestroyImmediate(astar.gameObject); + } // Load new scene await LoadSceneAsync(newSceneName, progress); // Unload previous scene (if not same) diff --git a/Assets/Scripts/Utility/SceneOrientationEnforcer.cs b/Assets/Scripts/Utility/SceneOrientationEnforcer.cs index 07fcee10..7ab73467 100644 --- a/Assets/Scripts/Utility/SceneOrientationEnforcer.cs +++ b/Assets/Scripts/Utility/SceneOrientationEnforcer.cs @@ -46,8 +46,23 @@ namespace Utility void Start() { - string sceneName = SceneManager.GetActiveScene().name; - requiredOrientation = orientationConfig != null ? orientationConfig.GetRequirementForScene(sceneName) : ScreenOrientationRequirement.Portrait; + // Subscribe to sceneLoaded event + SceneManager.sceneLoaded += OnSceneLoaded; + // Manually invoke for the first scene (unless it's Main Menu) + var activeScene = SceneManager.GetActiveScene(); + if (!IsMainMenuScene(activeScene)) + { + OnSceneLoaded(activeScene, LoadSceneMode.Single); + } + } + + private void OnSceneLoaded(Scene scene, LoadSceneMode mode) + { + // Clean up any previous prompt/coroutine + // CleanupPromptAndCoroutine(); + if (IsMainMenuScene(scene)) + return; + requiredOrientation = orientationConfig != null ? orientationConfig.GetRequirementForScene(scene.name) : ScreenOrientationRequirement.Portrait; orientationCorrect = IsOrientationCorrect(); if (!orientationCorrect) { @@ -56,14 +71,20 @@ namespace Utility } } + private bool IsMainMenuScene(Scene scene) + { + // Adjust this logic if you have a different main menu scene name + return scene.name == "Main Menu" || scene.name == "MainMenu"; + } + private bool IsOrientationCorrect() { switch (requiredOrientation) { case ScreenOrientationRequirement.Portrait: - return Screen.height >= Screen.width; + return Screen.orientation == ScreenOrientation.Portrait || Screen.orientation == ScreenOrientation.PortraitUpsideDown; case ScreenOrientationRequirement.Landscape: - return Screen.width > Screen.height; + return Screen.orientation == ScreenOrientation.LandscapeLeft || Screen.orientation == ScreenOrientation.LandscapeRight; default: return true; } @@ -101,8 +122,23 @@ namespace Utility } } + private void CleanupPromptAndCoroutine() + { + if (promptInstance != null) + { + Destroy(promptInstance); + promptInstance = null; + } + if (orientationCheckCoroutine != null) + { + StopCoroutine(orientationCheckCoroutine); + orientationCheckCoroutine = null; + } + } + void OnDestroy() { + SceneManager.sceneLoaded -= OnSceneLoaded; OnOrientationCorrect -= HandleOrientationCorrect; } diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 54339504..8f2ebfb4 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -8,6 +8,9 @@ EditorBuildSettings: - enabled: 0 path: Assets/Scenes/SampleScene.unity guid: 8c9cfa26abfee488c85f1582747f6a02 + - enabled: 1 + path: Assets/Scenes/MainMenu.unity + guid: b93f2f3b39a62684c8474ba79c8f698d - enabled: 1 path: Assets/Scenes/Levels/AppleHillsOverworld.unity guid: 350ef8129fba8174bb68b98a0f75e2f7 diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 97de6af1..784f7c8a 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -77,7 +77,7 @@ PlayerSettings: androidMinimumWindowWidth: 400 androidMinimumWindowHeight: 300 androidFullscreenMode: 1 - androidAutoRotationBehavior: 1 + androidAutoRotationBehavior: 2 androidPredictiveBackSupport: 0 androidApplicationEntry: 2 defaultIsNativeResolution: 1 diff --git a/ProjectSettings/ScriptableBuildPipeline.json b/ProjectSettings/ScriptableBuildPipeline.json new file mode 100644 index 00000000..dfa4f083 --- /dev/null +++ b/ProjectSettings/ScriptableBuildPipeline.json @@ -0,0 +1,14 @@ +{ + "useBuildCacheServer": false, + "cacheServerHost": "", + "cacheServerPort": 8126, + "threadedArchiving": true, + "logCacheMiss": false, + "logAssetWarnings": true, + "slimWriteResults": true, + "maximumCacheSize": 20, + "useDetailedBuildLog": false, + "useV2Hasher": true, + "fileIDHashSeed": 0, + "prefabPackedHeaderSize": 2 +} \ No newline at end of file