Implement SceneManager with asynchronous load/unload routines ready for bootstrapper scene. Implement simple level switching

This commit is contained in:
Michal Pikulski
2025-09-01 22:51:52 +02:00
parent e3b7f219cf
commit a03b70a1ca
22 changed files with 1063 additions and 7 deletions

View File

@@ -0,0 +1,164 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1498439134679474750
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4428217320659622763}
- component: {fileID: 5374700348512867011}
- component: {fileID: 841695541655102207}
- component: {fileID: 4981092805118965486}
- component: {fileID: 1397300447834037203}
m_Layer: 0
m_Name: BaseLevelSwitch
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4428217320659622763
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1498439134679474750}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0.26496, y: -0.01775, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &5374700348512867011
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1498439134679474750}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 0
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!61 &841695541655102207
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1498439134679474750}
m_Enabled: 1
serializedVersion: 3
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 0
m_UsedByEffector: 0
m_CompositeOperation: 0
m_CompositeOrder: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0, y: 0}
oldSize: {x: 0, y: 0}
newSize: {x: 0, y: 0}
adaptiveTilingThreshold: 0
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
m_Size: {x: 1, y: 1}
m_EdgeRadius: 0
--- !u!114 &4981092805118965486
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1498439134679474750}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &1397300447834037203
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1498439134679474750}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 66cdab2e217c4c8388e2fc66da02f296, type: 3}
m_Name:
m_EditorClassIdentifier:
switchData: {fileID: 0}
iconRenderer: {fileID: 5374700348512867011}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 93ab59741ddc4e045a61cd8e05b65578
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,107 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &5603952461431697508
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.newSize.x
value: 0.48
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.newSize.y
value: 0.48
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.oldSize.x
value: 0.48
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.oldSize.y
value: 0.48
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.adaptiveTilingThreshold
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 1397300447834037203, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: switchData
value:
objectReference: {fileID: 11400000, guid: 46810f51fd1f1134eac58ec1c72c382b, type: 2}
- target: {fileID: 1498439134679474750, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_Name
value: AppleHillsOverworld
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5374700348512867011, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_Size.x
value: 0.48
objectReference: {fileID: 0}
- target: {fileID: 5374700348512867011, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_Size.y
value: 0.48
objectReference: {fileID: 0}
- target: {fileID: 5374700348512867011, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 8539217831253106567, guid: 69e3e7adfbf712247a6a498c83e9a4f7, type: 3}
- target: {fileID: 5374700348512867011, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_WasSpriteAssigned
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f49951cfa5be89540a4848c28fbb30f6
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,123 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &3826256398280861369
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.border.w
value: 0
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.border.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.border.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.border.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.newSize.x
value: 0.16
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.newSize.y
value: 0.16
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.oldSize.x
value: 0.48
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.oldSize.y
value: 0.48
objectReference: {fileID: 0}
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_SpriteTilingProperty.adaptiveTilingThreshold
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 1397300447834037203, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: switchData
value:
objectReference: {fileID: 11400000, guid: fc5550b1c1e747b459a4e0c1474f0e2a, type: 2}
- target: {fileID: 1498439134679474750, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_Name
value: Quarry
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5374700348512867011, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_Size.x
value: 0.16
objectReference: {fileID: 0}
- target: {fileID: 5374700348512867011, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_Size.y
value: 0.16
objectReference: {fileID: 0}
- target: {fileID: 5374700348512867011, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 8539217831253106567, guid: 69e3e7adfbf712247a6a498c83e9a4f7, type: 3}
- target: {fileID: 5374700348512867011, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
propertyPath: m_WasSpriteAssigned
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 539b408cd1191614abdcd99506f1157d
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: