Implement SceneManager with asynchronous load/unload routines ready for bootstrapper scene. Implement simple level switching
This commit is contained in:
8
Assets/Data/Items.meta
Normal file
8
Assets/Data/Items.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a3cec30feba6b434ea0de2783b008115
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Data/SubLevels.meta
Normal file
8
Assets/Data/SubLevels.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4a8c325e62ef1d04485a54e4e1e0586d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
17
Assets/Data/SubLevels/OverWorld.asset
Normal file
17
Assets/Data/SubLevels/OverWorld.asset
Normal file
@@ -0,0 +1,17 @@
|
||||
%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: 451d08ffb9ed459db0f0473f2275743b, type: 3}
|
||||
m_Name: OverWorld
|
||||
m_EditorClassIdentifier:
|
||||
targetLevelSceneName: AppleHillsOverworld
|
||||
description: Level loading for main overworld level
|
||||
mapSprite: {fileID: 8539217831253106567, guid: 69e3e7adfbf712247a6a498c83e9a4f7, type: 3}
|
||||
8
Assets/Data/SubLevels/OverWorld.asset.meta
Normal file
8
Assets/Data/SubLevels/OverWorld.asset.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 46810f51fd1f1134eac58ec1c72c382b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
17
Assets/Data/SubLevels/Quarry.asset
Normal file
17
Assets/Data/SubLevels/Quarry.asset
Normal file
@@ -0,0 +1,17 @@
|
||||
%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: 451d08ffb9ed459db0f0473f2275743b, type: 3}
|
||||
m_Name: Quarry
|
||||
m_EditorClassIdentifier:
|
||||
targetLevelSceneName: Quarry
|
||||
description: Level loading for Quarry
|
||||
mapSprite: {fileID: 8539217831253106567, guid: 69e3e7adfbf712247a6a498c83e9a4f7, type: 3}
|
||||
8
Assets/Data/SubLevels/Quarry.asset.meta
Normal file
8
Assets/Data/SubLevels/Quarry.asset.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fc5550b1c1e747b459a4e0c1474f0e2a
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
164
Assets/Prefabs/Levels/BaseLevelSwitch.prefab
Normal file
164
Assets/Prefabs/Levels/BaseLevelSwitch.prefab
Normal 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}
|
||||
7
Assets/Prefabs/Levels/BaseLevelSwitch.prefab.meta
Normal file
7
Assets/Prefabs/Levels/BaseLevelSwitch.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 93ab59741ddc4e045a61cd8e05b65578
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
107
Assets/Prefabs/Levels/OverworldLevelSwitch.prefab
Normal file
107
Assets/Prefabs/Levels/OverworldLevelSwitch.prefab
Normal 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}
|
||||
7
Assets/Prefabs/Levels/OverworldLevelSwitch.prefab.meta
Normal file
7
Assets/Prefabs/Levels/OverworldLevelSwitch.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f49951cfa5be89540a4848c28fbb30f6
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
123
Assets/Prefabs/Levels/QuarryLevelSwitch.prefab
Normal file
123
Assets/Prefabs/Levels/QuarryLevelSwitch.prefab
Normal 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}
|
||||
7
Assets/Prefabs/Levels/QuarryLevelSwitch.prefab.meta
Normal file
7
Assets/Prefabs/Levels/QuarryLevelSwitch.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 539b408cd1191614abdcd99506f1157d
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -214,6 +214,111 @@ MonoBehaviour:
|
||||
RotationDamping: {x: 1, y: 1, z: 1}
|
||||
QuaternionDamping: 1
|
||||
FollowOffset: {x: 0, y: 0, z: -10}
|
||||
--- !u!1001 &249343019
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 607326083758341586, guid: 539b408cd1191614abdcd99506f1157d, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 3.467737
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 607326083758341586, guid: 539b408cd1191614abdcd99506f1157d, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: -0.51303357
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 607326083758341586, guid: 539b408cd1191614abdcd99506f1157d, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 607326083758341586, guid: 539b408cd1191614abdcd99506f1157d, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 607326083758341586, guid: 539b408cd1191614abdcd99506f1157d, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 607326083758341586, guid: 539b408cd1191614abdcd99506f1157d, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 607326083758341586, guid: 539b408cd1191614abdcd99506f1157d, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 607326083758341586, guid: 539b408cd1191614abdcd99506f1157d, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 607326083758341586, guid: 539b408cd1191614abdcd99506f1157d, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 607326083758341586, guid: 539b408cd1191614abdcd99506f1157d, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2437029726364468359, guid: 539b408cd1191614abdcd99506f1157d, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Quarry
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 9191656170436146298, guid: 539b408cd1191614abdcd99506f1157d, type: 3}
|
||||
propertyPath: m_Sprite
|
||||
value:
|
||||
objectReference: {fileID: 8539217831253106567, guid: 69e3e7adfbf712247a6a498c83e9a4f7, type: 3}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 539b408cd1191614abdcd99506f1157d, type: 3}
|
||||
--- !u!1 &535638823
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 535638824}
|
||||
- component: {fileID: 535638825}
|
||||
m_Layer: 0
|
||||
m_Name: SceneManager
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &535638824
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 535638823}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 1.25458, y: 2.22049, 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!114 &535638825
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 535638823}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 360f320f4d7a48e38f5fd7cdfa28144a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &954512633
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -283,7 +388,7 @@ Transform:
|
||||
m_GameObject: {fileID: 954512633}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalPosition: {x: -12.32, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -22426,6 +22531,10 @@ PrefabInstance:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1029242719786036324, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
@@ -22487,3 +22596,5 @@ SceneRoots:
|
||||
- {fileID: 1335103842}
|
||||
- {fileID: 1067158016}
|
||||
- {fileID: 100481744}
|
||||
- {fileID: 249343019}
|
||||
- {fileID: 535638824}
|
||||
@@ -12321,6 +12321,133 @@ Tilemap:
|
||||
e31: 0
|
||||
e32: 0
|
||||
e33: 1
|
||||
--- !u!1001 &264885659
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1029242719786036324, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: -1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4157358163210553531, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Player
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
--- !u!4 &264885660 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3}
|
||||
m_PrefabInstance: {fileID: 264885659}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1001 &312860098
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 6417272568726868570, guid: f49951cfa5be89540a4848c28fbb30f6, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: AppleHillsOverworld
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8120286049716529935, guid: f49951cfa5be89540a4848c28fbb30f6, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: -5.6985006
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8120286049716529935, guid: f49951cfa5be89540a4848c28fbb30f6, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0.6245073
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8120286049716529935, guid: f49951cfa5be89540a4848c28fbb30f6, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: -1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8120286049716529935, guid: f49951cfa5be89540a4848c28fbb30f6, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8120286049716529935, guid: f49951cfa5be89540a4848c28fbb30f6, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8120286049716529935, guid: f49951cfa5be89540a4848c28fbb30f6, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8120286049716529935, guid: f49951cfa5be89540a4848c28fbb30f6, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8120286049716529935, guid: f49951cfa5be89540a4848c28fbb30f6, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8120286049716529935, guid: f49951cfa5be89540a4848c28fbb30f6, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8120286049716529935, guid: f49951cfa5be89540a4848c28fbb30f6, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: f49951cfa5be89540a4848c28fbb30f6, type: 3}
|
||||
--- !u!1 &1045750399
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -12453,6 +12580,101 @@ Transform:
|
||||
- {fileID: 219531023}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1137411209
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1137411211}
|
||||
- component: {fileID: 1137411210}
|
||||
- component: {fileID: 1137411212}
|
||||
m_Layer: 0
|
||||
m_Name: CinemachineCamera
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1137411210
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1137411209}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f9dfa5b682dcd46bda6128250e975f58, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Priority:
|
||||
Enabled: 0
|
||||
m_Value: 0
|
||||
OutputChannel: 1
|
||||
StandbyUpdate: 2
|
||||
m_StreamingVersion: 20241001
|
||||
m_LegacyPriority: 0
|
||||
Target:
|
||||
TrackingTarget: {fileID: 264885660}
|
||||
LookAtTarget: {fileID: 0}
|
||||
CustomLookAtTarget: 0
|
||||
Lens:
|
||||
FieldOfView: 60
|
||||
OrthographicSize: 18.154158
|
||||
NearClipPlane: 0.3
|
||||
FarClipPlane: 1000
|
||||
Dutch: 0
|
||||
ModeOverride: 0
|
||||
PhysicalProperties:
|
||||
GateFit: 2
|
||||
SensorSize: {x: 21.946, y: 16.002}
|
||||
LensShift: {x: 0, y: 0}
|
||||
FocusDistance: 10
|
||||
Iso: 200
|
||||
ShutterSpeed: 0.005
|
||||
Aperture: 16
|
||||
BladeCount: 5
|
||||
Curvature: {x: 2, y: 11}
|
||||
BarrelClipping: 0.25
|
||||
Anamorphism: 0
|
||||
BlendHint: 0
|
||||
--- !u!4 &1137411211
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1137411209}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -11}
|
||||
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!114 &1137411212
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1137411209}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b617507da6d07e749b7efdb34e1173e1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
TrackerSettings:
|
||||
BindingMode: 4
|
||||
PositionDamping: {x: 1, y: 1, z: 1}
|
||||
AngularDampingMode: 0
|
||||
RotationDamping: {x: 1, y: 1, z: 1}
|
||||
QuaternionDamping: 1
|
||||
FollowOffset: {x: 0, y: 0, z: -10}
|
||||
--- !u!1 &1653475490
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -12464,6 +12686,7 @@ GameObject:
|
||||
- component: {fileID: 1653475493}
|
||||
- component: {fileID: 1653475492}
|
||||
- component: {fileID: 1653475491}
|
||||
- component: {fileID: 1653475494}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
@@ -12514,7 +12737,7 @@ Camera:
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 1
|
||||
orthographic size: 5
|
||||
orthographic size: 18.154158
|
||||
m_Depth: -1
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
@@ -12539,12 +12762,44 @@ Transform:
|
||||
m_GameObject: {fileID: 1653475490}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -10}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -11}
|
||||
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!114 &1653475494
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1653475490}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ShowDebugText: 0
|
||||
ShowCameraFrustum: 1
|
||||
IgnoreTimeScale: 0
|
||||
WorldUpOverride: {fileID: 0}
|
||||
ChannelMask: -1
|
||||
UpdateMethod: 2
|
||||
BlendUpdateMethod: 1
|
||||
LensModeOverride:
|
||||
Enabled: 0
|
||||
DefaultMode: 2
|
||||
DefaultBlend:
|
||||
Style: 1
|
||||
Time: 2
|
||||
CustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
CustomBlends: {fileID: 0}
|
||||
--- !u!1001 &3402159610283009489
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -12611,3 +12866,6 @@ SceneRoots:
|
||||
- {fileID: 1073425384}
|
||||
- {fileID: 1045750401}
|
||||
- {fileID: 3402159610283009489}
|
||||
- {fileID: 264885659}
|
||||
- {fileID: 1137411211}
|
||||
- {fileID: 312860098}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using UnityEngine;
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
public class LevelSwitch : MonoBehaviour
|
||||
{
|
||||
@@ -8,6 +9,9 @@ public class LevelSwitch : MonoBehaviour
|
||||
|
||||
void Awake()
|
||||
{
|
||||
if (iconRenderer == null)
|
||||
iconRenderer = GetComponent<SpriteRenderer>();
|
||||
|
||||
interactable = GetComponent<Interactable>();
|
||||
if (interactable != null)
|
||||
{
|
||||
@@ -27,6 +31,8 @@ public class LevelSwitch : MonoBehaviour
|
||||
#if UNITY_EDITOR
|
||||
void OnValidate()
|
||||
{
|
||||
if (iconRenderer == null)
|
||||
iconRenderer = GetComponent<SpriteRenderer>();
|
||||
ApplySwitchData();
|
||||
}
|
||||
#endif
|
||||
@@ -42,9 +48,15 @@ public class LevelSwitch : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
private void OnInteracted()
|
||||
private async void OnInteracted()
|
||||
{
|
||||
Debug.Log($"LevelSwitch.OnInteracted: Switching to level {switchData?.targetLevelSceneName}");
|
||||
// TODO: Add scene loading logic here, e.g. UnityEngine.SceneManagement.SceneManager.LoadScene(switchData.targetLevelSceneName);
|
||||
if (switchData != null && !string.IsNullOrEmpty(switchData.targetLevelSceneName))
|
||||
{
|
||||
// Optionally: show loading UI here
|
||||
var progress = new Progress<float>(p => Debug.Log($"Loading progress: {p * 100:F0}%"));
|
||||
await SceneManagerService.Instance.SwitchSceneAsync(switchData.targetLevelSceneName, progress);
|
||||
// Optionally: hide loading UI here
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
183
Assets/Scripts/SceneManagerService.cs
Normal file
183
Assets/Scripts/SceneManagerService.cs
Normal file
@@ -0,0 +1,183 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
public class SceneManagerService : MonoBehaviour
|
||||
{
|
||||
public static SceneManagerService Instance { get; private set; }
|
||||
|
||||
// Events for scene lifecycle
|
||||
public event Action<string> SceneLoadStarted;
|
||||
public event Action<string, float> SceneLoadProgress;
|
||||
public event Action<string> SceneLoadCompleted;
|
||||
public event Action<string> SceneUnloadStarted;
|
||||
public event Action<string, float> SceneUnloadProgress;
|
||||
public event Action<string> SceneUnloadCompleted;
|
||||
|
||||
private readonly Dictionary<string, AsyncOperation> _activeLoads = new();
|
||||
private readonly Dictionary<string, AsyncOperation> _activeUnloads = new();
|
||||
|
||||
void Awake()
|
||||
{
|
||||
if (Instance != null && Instance != this)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
return;
|
||||
}
|
||||
Instance = this;
|
||||
DontDestroyOnLoad(gameObject);
|
||||
}
|
||||
|
||||
// Load a single scene asynchronously (additive)
|
||||
public async Task LoadSceneAsync(string sceneName, IProgress<float> progress = null)
|
||||
{
|
||||
SceneLoadStarted?.Invoke(sceneName);
|
||||
var op = SceneManager.LoadSceneAsync(sceneName, LoadSceneMode.Additive);
|
||||
_activeLoads[sceneName] = op;
|
||||
while (!op.isDone)
|
||||
{
|
||||
progress?.Report(op.progress);
|
||||
SceneLoadProgress?.Invoke(sceneName, op.progress);
|
||||
await Task.Yield();
|
||||
}
|
||||
_activeLoads.Remove(sceneName);
|
||||
SceneLoadCompleted?.Invoke(sceneName);
|
||||
}
|
||||
|
||||
// Unload a single scene asynchronously
|
||||
public async Task UnloadSceneAsync(string sceneName, IProgress<float> progress = null)
|
||||
{
|
||||
var scene = SceneManager.GetSceneByName(sceneName);
|
||||
if (!scene.isLoaded)
|
||||
{
|
||||
Debug.LogWarning($"SceneManagerService: Attempted to unload scene '{sceneName}', but it is not loaded.");
|
||||
return;
|
||||
}
|
||||
SceneUnloadStarted?.Invoke(sceneName);
|
||||
var op = SceneManager.UnloadSceneAsync(sceneName);
|
||||
_activeUnloads[sceneName] = op;
|
||||
while (!op.isDone)
|
||||
{
|
||||
progress?.Report(op.progress);
|
||||
SceneUnloadProgress?.Invoke(sceneName, op.progress);
|
||||
await Task.Yield();
|
||||
}
|
||||
_activeUnloads.Remove(sceneName);
|
||||
SceneUnloadCompleted?.Invoke(sceneName);
|
||||
}
|
||||
|
||||
// Load multiple scenes asynchronously
|
||||
public async Task LoadScenesAsync(IEnumerable<string> sceneNames, IProgress<float> progress = null)
|
||||
{
|
||||
int total = 0;
|
||||
int done = 0;
|
||||
var ops = new List<AsyncOperation>();
|
||||
foreach (var name in sceneNames)
|
||||
{
|
||||
total++;
|
||||
var op = SceneManager.LoadSceneAsync(name, LoadSceneMode.Additive);
|
||||
_activeLoads[name] = op;
|
||||
ops.Add(op);
|
||||
SceneLoadStarted?.Invoke(name);
|
||||
}
|
||||
while (done < total)
|
||||
{
|
||||
done = 0;
|
||||
float aggregate = 0f;
|
||||
foreach (var op in ops)
|
||||
{
|
||||
aggregate += op.progress;
|
||||
if (op.isDone) done++;
|
||||
}
|
||||
float avg = aggregate / total;
|
||||
progress?.Report(avg);
|
||||
foreach (var name in sceneNames)
|
||||
SceneLoadProgress?.Invoke(name, avg);
|
||||
await Task.Yield();
|
||||
}
|
||||
foreach (var name in sceneNames)
|
||||
{
|
||||
_activeLoads.Remove(name);
|
||||
SceneLoadCompleted?.Invoke(name);
|
||||
}
|
||||
}
|
||||
|
||||
// Unload multiple scenes asynchronously
|
||||
public async Task UnloadScenesAsync(IEnumerable<string> sceneNames, IProgress<float> progress = null)
|
||||
{
|
||||
int total = 0;
|
||||
int done = 0;
|
||||
var ops = new List<AsyncOperation>();
|
||||
foreach (var name in sceneNames)
|
||||
{
|
||||
total++;
|
||||
var op = SceneManager.UnloadSceneAsync(name);
|
||||
_activeUnloads[name] = op;
|
||||
ops.Add(op);
|
||||
SceneUnloadStarted?.Invoke(name);
|
||||
}
|
||||
while (done < total)
|
||||
{
|
||||
done = 0;
|
||||
float aggregate = 0f;
|
||||
foreach (var op in ops)
|
||||
{
|
||||
aggregate += op.progress;
|
||||
if (op.isDone) done++;
|
||||
}
|
||||
float avg = aggregate / total;
|
||||
progress?.Report(avg);
|
||||
foreach (var name in sceneNames)
|
||||
SceneUnloadProgress?.Invoke(name, avg);
|
||||
await Task.Yield();
|
||||
}
|
||||
foreach (var name in sceneNames)
|
||||
{
|
||||
_activeUnloads.Remove(name);
|
||||
SceneUnloadCompleted?.Invoke(name);
|
||||
}
|
||||
}
|
||||
|
||||
// Optionally: expose current progress for all active operations
|
||||
public float GetAggregateLoadProgress()
|
||||
{
|
||||
if (_activeLoads.Count == 0) return 1f;
|
||||
float sum = 0f;
|
||||
foreach (var op in _activeLoads.Values) sum += op.progress;
|
||||
return sum / _activeLoads.Count;
|
||||
}
|
||||
public float GetAggregateUnloadProgress()
|
||||
{
|
||||
if (_activeUnloads.Count == 0) return 1f;
|
||||
float sum = 0f;
|
||||
foreach (var op in _activeUnloads.Values) sum += op.progress;
|
||||
return sum / _activeUnloads.Count;
|
||||
}
|
||||
|
||||
// Tracks the currently loaded gameplay scene (not persistent/bootstrapper)
|
||||
public string CurrentGameplayScene { get; private set; } = "AppleHillsOverworld";
|
||||
|
||||
// Switches from current gameplay scene to a new one
|
||||
public async Task SwitchSceneAsync(string newSceneName, IProgress<float> progress = null)
|
||||
{
|
||||
// Load new scene
|
||||
await LoadSceneAsync(newSceneName, progress);
|
||||
// Unload previous scene (if not same)
|
||||
if (!string.IsNullOrEmpty(CurrentGameplayScene) && CurrentGameplayScene != newSceneName)
|
||||
{
|
||||
var prevScene = SceneManager.GetSceneByName(CurrentGameplayScene);
|
||||
if (prevScene.isLoaded)
|
||||
{
|
||||
await UnloadSceneAsync(CurrentGameplayScene);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning($"SceneManagerService: Previous scene '{CurrentGameplayScene}' is not loaded, skipping unload.");
|
||||
}
|
||||
}
|
||||
// Update tracker
|
||||
CurrentGameplayScene = newSceneName;
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/SceneManagerService.cs.meta
Normal file
3
Assets/Scripts/SceneManagerService.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 360f320f4d7a48e38f5fd7cdfa28144a
|
||||
timeCreated: 1756750090
|
||||
Reference in New Issue
Block a user