Merge branch 'main' into audio-overhaul
This commit is contained in:
@@ -13,5 +13,7 @@ MonoBehaviour:
|
|||||||
m_Name: Quarry_MiniGame
|
m_Name: Quarry_MiniGame
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
targetLevelSceneName: DivingForPictures
|
targetLevelSceneName: DivingForPictures
|
||||||
|
targetMinigameSceneName:
|
||||||
description: Level loading for Quarry
|
description: Level loading for Quarry
|
||||||
mapSprite: {fileID: 2730440365418504821, guid: 55ac8382720be7e4c856d9fc8864902c, type: 3}
|
mapSprite: {fileID: 2730440365418504821, guid: 55ac8382720be7e4c856d9fc8864902c, type: 3}
|
||||||
|
menuSprite: {fileID: 6579828237621196356, guid: 7031dc4d177f92b4f970e104cdd6de51, type: 3}
|
||||||
|
|||||||
BIN
Assets/External/Placeholders/diving_minigame_icon.png
vendored
Normal file
BIN
Assets/External/Placeholders/diving_minigame_icon.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 69 KiB |
195
Assets/External/Placeholders/diving_minigame_icon.png.meta
vendored
Normal file
195
Assets/External/Placeholders/diving_minigame_icon.png.meta
vendored
Normal file
@@ -0,0 +1,195 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7031dc4d177f92b4f970e104cdd6de51
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable:
|
||||||
|
- first:
|
||||||
|
213: 6579828237621196356
|
||||||
|
second: diving_minigame_icon_0
|
||||||
|
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: diving_minigame_icon_0
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
width: 490
|
||||||
|
height: 490
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
customData:
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: -1
|
||||||
|
bones: []
|
||||||
|
spriteID: 446fe72bbee305b50800000000000000
|
||||||
|
internalID: 6579828237621196356
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
outline: []
|
||||||
|
customData:
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID:
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
spriteCustomMetadata:
|
||||||
|
entries: []
|
||||||
|
nameFileIdTable:
|
||||||
|
diving_minigame_icon_0: 6579828237621196356
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
BIN
Assets/External/Placeholders/polaroid.png
vendored
Normal file
BIN
Assets/External/Placeholders/polaroid.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.7 KiB |
195
Assets/External/Placeholders/polaroid.png.meta
vendored
Normal file
195
Assets/External/Placeholders/polaroid.png.meta
vendored
Normal file
@@ -0,0 +1,195 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b9e3bc189ede987488d90ea237dd5176
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable:
|
||||||
|
- first:
|
||||||
|
213: 49104727208924248
|
||||||
|
second: polaroid_0
|
||||||
|
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: polaroid_0
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
width: 657
|
||||||
|
height: 825
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
customData:
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: -1
|
||||||
|
bones: []
|
||||||
|
spriteID: 854941e3d747ea000800000000000000
|
||||||
|
internalID: 49104727208924248
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
outline: []
|
||||||
|
customData:
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID:
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
spriteCustomMetadata:
|
||||||
|
entries: []
|
||||||
|
nameFileIdTable:
|
||||||
|
polaroid_0: 49104727208924248
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
181
Assets/Prefabs/Levels/MinigameLevelSwitch.prefab
Normal file
181
Assets/Prefabs/Levels/MinigameLevelSwitch.prefab
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
%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: 8846215231430339145}
|
||||||
|
m_Layer: 10
|
||||||
|
m_Name: MinigameLevelSwitch
|
||||||
|
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_ForceMeshLod: -1
|
||||||
|
m_MeshLodSelectionBias: 0
|
||||||
|
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_GlobalIlluminationMeshLod: 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:
|
||||||
|
isOneTime: 0
|
||||||
|
cooldown: -1
|
||||||
|
characterToInteract: 2
|
||||||
|
interactionStarted:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
interactionInterrupted:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
characterArrived:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
interactionComplete:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
--- !u!114 &8846215231430339145
|
||||||
|
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: d9b7a2b4b1fe492aae7b0f280b4063cf, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: AppleHillsScripts::Levels.MinigameSwitch
|
||||||
|
switchData: {fileID: 0}
|
||||||
7
Assets/Prefabs/Levels/MinigameLevelSwitch.prefab.meta
Normal file
7
Assets/Prefabs/Levels/MinigameLevelSwitch.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7f0745739e84b73439c2fac1d3c3884c
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -34,9 +34,9 @@ RectTransform:
|
|||||||
- {fileID: 6141236127753305898}
|
- {fileID: 6141236127753305898}
|
||||||
m_Father: {fileID: 1936850923066780126}
|
m_Father: {fileID: 1936850923066780126}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 416.5, y: -50}
|
||||||
m_SizeDelta: {x: 250, y: 100}
|
m_SizeDelta: {x: 250, y: 100}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &2968163887214456956
|
--- !u!222 &2968163887214456956
|
||||||
@@ -156,9 +156,9 @@ RectTransform:
|
|||||||
- {fileID: 1181771131539405358}
|
- {fileID: 1181771131539405358}
|
||||||
m_Father: {fileID: 5275008271445494810}
|
m_Father: {fileID: 5275008271445494810}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 550, y: -60}
|
||||||
m_SizeDelta: {x: 300, y: 120}
|
m_SizeDelta: {x: 300, y: 120}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &7346691780247132469
|
--- !u!222 &7346691780247132469
|
||||||
@@ -1034,9 +1034,9 @@ RectTransform:
|
|||||||
- {fileID: 1961916327007662876}
|
- {fileID: 1961916327007662876}
|
||||||
m_Father: {fileID: 3946857190585013200}
|
m_Father: {fileID: 3946857190585013200}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 150, y: -60}
|
||||||
m_SizeDelta: {x: 300, y: 120}
|
m_SizeDelta: {x: 300, y: 120}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5099743798024819687
|
--- !u!222 &5099743798024819687
|
||||||
@@ -1290,7 +1290,7 @@ RectTransform:
|
|||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: -220}
|
m_AnchoredPosition: {x: 0, y: -220}
|
||||||
m_SizeDelta: {x: 300, y: 0}
|
m_SizeDelta: {x: 300, y: 220}
|
||||||
m_Pivot: {x: 0, y: 0}
|
m_Pivot: {x: 0, y: 0}
|
||||||
--- !u!114 &7837377403463588530
|
--- !u!114 &7837377403463588530
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
@@ -1459,7 +1459,7 @@ RectTransform:
|
|||||||
m_AnchorMin: {x: 0.5, y: 0}
|
m_AnchorMin: {x: 0.5, y: 0}
|
||||||
m_AnchorMax: {x: 0.5, y: 0}
|
m_AnchorMax: {x: 0.5, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: 104}
|
m_AnchoredPosition: {x: 0, y: 104}
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
m_SizeDelta: {x: 700, y: 220}
|
||||||
m_Pivot: {x: 0.5, y: 0}
|
m_Pivot: {x: 0.5, y: 0}
|
||||||
--- !u!114 &230322516859144723
|
--- !u!114 &230322516859144723
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
@@ -1535,9 +1535,9 @@ RectTransform:
|
|||||||
- {fileID: 8833702660563896031}
|
- {fileID: 8833702660563896031}
|
||||||
m_Father: {fileID: 1936850923066780126}
|
m_Father: {fileID: 1936850923066780126}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 125, y: -50}
|
||||||
m_SizeDelta: {x: 250, y: 100}
|
m_SizeDelta: {x: 250, y: 100}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &6779017702749071
|
--- !u!222 &6779017702749071
|
||||||
@@ -1759,9 +1759,9 @@ RectTransform:
|
|||||||
- {fileID: 253886595071358232}
|
- {fileID: 253886595071358232}
|
||||||
m_Father: {fileID: 3946857190585013200}
|
m_Father: {fileID: 3946857190585013200}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 150, y: -182.5}
|
||||||
m_SizeDelta: {x: 200, y: 75}
|
m_SizeDelta: {x: 200, y: 75}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &269258005419161547
|
--- !u!222 &269258005419161547
|
||||||
@@ -2019,7 +2019,7 @@ RectTransform:
|
|||||||
m_AnchorMin: {x: 0.5, y: 0}
|
m_AnchorMin: {x: 0.5, y: 0}
|
||||||
m_AnchorMax: {x: 0.5, y: 0}
|
m_AnchorMax: {x: 0.5, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: 125}
|
m_AnchoredPosition: {x: 0, y: 125}
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
m_SizeDelta: {x: 541.5, y: 100}
|
||||||
m_Pivot: {x: 0.5, y: 0}
|
m_Pivot: {x: 0.5, y: 0}
|
||||||
--- !u!114 &4213333726324520130
|
--- !u!114 &4213333726324520130
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
|
|||||||
2385
Assets/Prefabs/UI/MinigameConfirmMenu.prefab
Normal file
2385
Assets/Prefabs/UI/MinigameConfirmMenu.prefab
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/Prefabs/UI/MinigameConfirmMenu.prefab.meta
Normal file
7
Assets/Prefabs/UI/MinigameConfirmMenu.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9ce7e3d5fb1b4f24ca160b73b16f28da
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
File diff suppressed because one or more lines are too long
@@ -449371,159 +449371,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 2064225848720495177, guid: 0bbded61e58193848ac59c8eea761bcc, type: 3}
|
m_CorrespondingSourceObject: {fileID: 2064225848720495177, guid: 0bbded61e58193848ac59c8eea761bcc, type: 3}
|
||||||
m_PrefabInstance: {fileID: 1030861134}
|
m_PrefabInstance: {fileID: 1030861134}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1001 &1032520927
|
|
||||||
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_Size.x
|
|
||||||
value: 19.4
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
|
|
||||||
propertyPath: m_Size.y
|
|
||||||
value: 11.92
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
|
|
||||||
propertyPath: m_Offset.x
|
|
||||||
value: -0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
|
|
||||||
propertyPath: m_Offset.y
|
|
||||||
value: 0.34
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- 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: 19.4
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 841695541655102207, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
|
|
||||||
propertyPath: m_SpriteTilingProperty.oldSize.y
|
|
||||||
value: 12.07
|
|
||||||
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: 5861b0a3b22b57f43a00cab7c7faafaa, type: 2}
|
|
||||||
- target: {fileID: 1498439134679474750, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
|
|
||||||
propertyPath: m_Name
|
|
||||||
value: DivingForPictures
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
|
|
||||||
propertyPath: m_LocalScale.x
|
|
||||||
value: 0.6
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
|
|
||||||
propertyPath: m_LocalScale.y
|
|
||||||
value: 0.6
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
|
|
||||||
propertyPath: m_LocalScale.z
|
|
||||||
value: 0.6
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.x
|
|
||||||
value: 51.64
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.y
|
|
||||||
value: 48.18
|
|
||||||
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: 4428217320659622763, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
|
|
||||||
propertyPath: m_ConstrainProportionsScale
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4981092805118965486, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
|
|
||||||
propertyPath: characterToInteract
|
|
||||||
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: 2730440365418504821, guid: 55ac8382720be7e4c856d9fc8864902c, type: 3}
|
|
||||||
- target: {fileID: 5374700348512867011, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
|
|
||||||
propertyPath: m_SortingLayer
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 5374700348512867011, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
|
|
||||||
propertyPath: m_SortingOrder
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 5374700348512867011, guid: 93ab59741ddc4e045a61cd8e05b65578, type: 3}
|
|
||||||
propertyPath: m_SortingLayerID
|
|
||||||
value: -1132846201
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- 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}
|
|
||||||
--- !u!1001 &1036277464
|
--- !u!1001 &1036277464
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -462370,6 +462217,147 @@ MeshFilter:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1605319923}
|
m_GameObject: {fileID: 1605319923}
|
||||||
m_Mesh: {fileID: 4300000, guid: eae229cde7c374059a09c8052360682c, type: 3}
|
m_Mesh: {fileID: 4300000, guid: eae229cde7c374059a09c8052360682c, type: 3}
|
||||||
|
--- !u!1001 &1627589499
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 841695541655102207, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_Size.x
|
||||||
|
value: 19.587194
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 841695541655102207, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_Size.y
|
||||||
|
value: 11.473267
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 841695541655102207, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_Offset.x
|
||||||
|
value: 0.086318016
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 841695541655102207, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_Offset.y
|
||||||
|
value: 0.43159032
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 841695541655102207, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_SpriteTilingProperty.pivot.x
|
||||||
|
value: 0.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 841695541655102207, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_SpriteTilingProperty.pivot.y
|
||||||
|
value: 0.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 841695541655102207, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_SpriteTilingProperty.newSize.x
|
||||||
|
value: 19.4
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 841695541655102207, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_SpriteTilingProperty.newSize.y
|
||||||
|
value: 12.07
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 841695541655102207, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_SpriteTilingProperty.oldSize.x
|
||||||
|
value: 19.4
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 841695541655102207, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_SpriteTilingProperty.oldSize.y
|
||||||
|
value: 12.07
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 841695541655102207, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_SpriteTilingProperty.adaptiveTilingThreshold
|
||||||
|
value: 0.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1498439134679474750, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: DivingForPictures
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4428217320659622763, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_LocalScale.x
|
||||||
|
value: 0.6
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4428217320659622763, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: 0.6
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4428217320659622763, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_LocalScale.z
|
||||||
|
value: 0.6
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4428217320659622763, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 53.24
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4428217320659622763, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 48.2
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4428217320659622763, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4428217320659622763, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4428217320659622763, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4428217320659622763, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4428217320659622763, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4428217320659622763, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4428217320659622763, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4428217320659622763, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4428217320659622763, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_ConstrainProportionsScale
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4981092805118965486, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: characterToInteract
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5374700348512867011, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_Size.x
|
||||||
|
value: 19.4
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5374700348512867011, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_Size.y
|
||||||
|
value: 12.07
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5374700348512867011, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_Sprite
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 2730440365418504821, guid: 55ac8382720be7e4c856d9fc8864902c, type: 3}
|
||||||
|
- target: {fileID: 5374700348512867011, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: m_WasSpriteAssigned
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8846215231430339145, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
|
propertyPath: switchData
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 11400000, guid: 5861b0a3b22b57f43a00cab7c7faafaa, type: 2}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 7f0745739e84b73439c2fac1d3c3884c, type: 3}
|
||||||
--- !u!1001 &1628085986
|
--- !u!1001 &1628085986
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -472072,7 +472060,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 1101f6c4eb04423b89dc78dc7c9f1aae, type: 3}
|
m_Script: {fileID: 11500000, guid: 1101f6c4eb04423b89dc78dc7c9f1aae, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: AppleHillsScripts::PuzzleS.ObjectiveStepBehaviour
|
m_EditorClassIdentifier: AppleHillsScripts::PuzzleS.ObjectiveStepBehaviour
|
||||||
stepData: {fileID: 11400000, guid: 9c10f3091037ee4489cc15d0a91559f5, type: 2}
|
stepData: {fileID: 11400000, guid: 37409d749a15970438d761d1d658d7a6, type: 2}
|
||||||
puzzleIndicator: {fileID: 1671495207}
|
puzzleIndicator: {fileID: 1671495207}
|
||||||
drawPromptRangeGizmo: 1
|
drawPromptRangeGizmo: 1
|
||||||
--- !u!1001 &2024588806
|
--- !u!1001 &2024588806
|
||||||
@@ -478106,7 +478094,6 @@ SceneRoots:
|
|||||||
- {fileID: 624616733}
|
- {fileID: 624616733}
|
||||||
- {fileID: 1794862441}
|
- {fileID: 1794862441}
|
||||||
- {fileID: 122256018}
|
- {fileID: 122256018}
|
||||||
- {fileID: 1032520927}
|
|
||||||
- {fileID: 965792696}
|
- {fileID: 965792696}
|
||||||
- {fileID: 764788851}
|
- {fileID: 764788851}
|
||||||
- {fileID: 264885659}
|
- {fileID: 264885659}
|
||||||
@@ -478144,3 +478131,4 @@ SceneRoots:
|
|||||||
- {fileID: 477911181}
|
- {fileID: 477911181}
|
||||||
- {fileID: 1374202465}
|
- {fileID: 1374202465}
|
||||||
- {fileID: 708284666}
|
- {fileID: 708284666}
|
||||||
|
- {fileID: 1627589499}
|
||||||
|
|||||||
@@ -9,6 +9,9 @@ namespace Core.SaveLoad
|
|||||||
|
|
||||||
// Snapshot of the player's card collection (MVP)
|
// Snapshot of the player's card collection (MVP)
|
||||||
public CardCollectionState cardCollection;
|
public CardCollectionState cardCollection;
|
||||||
|
|
||||||
|
// List of unlocked minigames by name
|
||||||
|
public List<string> unlockedMinigames = new List<string>();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Minimal DTOs for card persistence
|
// Minimal DTOs for card persistence
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ namespace AppleHills.Core.Settings
|
|||||||
[Header("Default Prefabs")]
|
[Header("Default Prefabs")]
|
||||||
[SerializeField] private GameObject basePickupPrefab;
|
[SerializeField] private GameObject basePickupPrefab;
|
||||||
[SerializeField] private GameObject levelSwitchMenuPrefab;
|
[SerializeField] private GameObject levelSwitchMenuPrefab;
|
||||||
|
[SerializeField] private GameObject minigameSwitchMenuPrefab;
|
||||||
|
|
||||||
[Header("Puzzle Settings")]
|
[Header("Puzzle Settings")]
|
||||||
[Tooltip("Default prefab for puzzle step indicators")]
|
[Tooltip("Default prefab for puzzle step indicators")]
|
||||||
@@ -39,6 +40,7 @@ namespace AppleHills.Core.Settings
|
|||||||
public LayerMask InteractableLayerMask => interactableLayerMask;
|
public LayerMask InteractableLayerMask => interactableLayerMask;
|
||||||
public GameObject BasePickupPrefab => basePickupPrefab;
|
public GameObject BasePickupPrefab => basePickupPrefab;
|
||||||
public GameObject LevelSwitchMenuPrefab => levelSwitchMenuPrefab;
|
public GameObject LevelSwitchMenuPrefab => levelSwitchMenuPrefab;
|
||||||
|
public GameObject MinigameSwitchMenuPrefab => minigameSwitchMenuPrefab;
|
||||||
public List<CombinationRule> CombinationRules => combinationRules;
|
public List<CombinationRule> CombinationRules => combinationRules;
|
||||||
public List<SlotItemConfig> SlotItemConfigs => slotItemConfigs;
|
public List<SlotItemConfig> SlotItemConfigs => slotItemConfigs;
|
||||||
public GameObject DefaultPuzzleIndicatorPrefab => defaultPuzzleIndicatorPrefab;
|
public GameObject DefaultPuzzleIndicatorPrefab => defaultPuzzleIndicatorPrefab;
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ namespace AppleHills.Core.Settings
|
|||||||
LayerMask InteractableLayerMask { get; }
|
LayerMask InteractableLayerMask { get; }
|
||||||
GameObject BasePickupPrefab { get; }
|
GameObject BasePickupPrefab { get; }
|
||||||
GameObject LevelSwitchMenuPrefab { get; }
|
GameObject LevelSwitchMenuPrefab { get; }
|
||||||
|
GameObject MinigameSwitchMenuPrefab { get; }
|
||||||
List<CombinationRule> CombinationRules { get; }
|
List<CombinationRule> CombinationRules { get; }
|
||||||
List<SlotItemConfig> SlotItemConfigs { get; }
|
List<SlotItemConfig> SlotItemConfigs { get; }
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class SoundGenerator : MonoBehaviour
|
|||||||
if (!playerInside && other.CompareTag("Player"))
|
if (!playerInside && other.CompareTag("Player"))
|
||||||
{
|
{
|
||||||
playerInside = true;
|
playerInside = true;
|
||||||
Logging.Debug("Player entered SoundGenerator trigger!");
|
// Logging.Debug("Player entered SoundGenerator trigger!");
|
||||||
if (spriteRenderer != null && enterSprite != null)
|
if (spriteRenderer != null && enterSprite != null)
|
||||||
{
|
{
|
||||||
spriteRenderer.sprite = enterSprite;
|
spriteRenderer.sprite = enterSprite;
|
||||||
@@ -50,7 +50,7 @@ public class SoundGenerator : MonoBehaviour
|
|||||||
if (playerInside && other.CompareTag("Player"))
|
if (playerInside && other.CompareTag("Player"))
|
||||||
{
|
{
|
||||||
playerInside = false;
|
playerInside = false;
|
||||||
Logging.Debug("Player exited SoundGenerator trigger!");
|
// Logging.Debug("Player exited SoundGenerator trigger!");
|
||||||
if (spriteRenderer != null && exitSprite != null)
|
if (spriteRenderer != null && exitSprite != null)
|
||||||
{
|
{
|
||||||
spriteRenderer.sprite = exitSprite;
|
spriteRenderer.sprite = exitSprite;
|
||||||
|
|||||||
@@ -28,5 +28,10 @@ namespace Levels
|
|||||||
/// Icon to display for this level switch.
|
/// Icon to display for this level switch.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Sprite mapSprite;
|
public Sprite mapSprite;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Icon to display for this level switch.
|
||||||
|
/// </summary>
|
||||||
|
public Sprite menuSprite;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
using TMPro;
|
using TMPro;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
|
using Core.SaveLoad;
|
||||||
|
using Unity.Android.Gradle;
|
||||||
|
|
||||||
namespace Levels
|
namespace Levels
|
||||||
{
|
{
|
||||||
@@ -41,23 +43,41 @@ namespace Levels
|
|||||||
_onMinigameConfirm = onMinigameConfirm;
|
_onMinigameConfirm = onMinigameConfirm;
|
||||||
_onCancel = onCancel;
|
_onCancel = onCancel;
|
||||||
_onRestart = onRestart;
|
_onRestart = onRestart;
|
||||||
if (iconImage) iconImage.sprite = switchData?.mapSprite;
|
if(switchData != null)
|
||||||
if (levelNameText) levelNameText.text = switchData?.targetLevelSceneName ?? "";
|
{
|
||||||
|
if (iconImage)
|
||||||
|
{
|
||||||
|
iconImage.sprite = switchData.menuSprite != null
|
||||||
|
? switchData.menuSprite
|
||||||
|
: switchData.mapSprite;
|
||||||
|
}
|
||||||
|
if (levelNameText) levelNameText.text = switchData?.targetLevelSceneName ?? "";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Logging.LogWarning("[LevelSwitchMenu] No level data is assigned!");
|
||||||
|
}
|
||||||
if (confirmButton) confirmButton.onClick.AddListener(OnConfirmClicked);
|
if (confirmButton) confirmButton.onClick.AddListener(OnConfirmClicked);
|
||||||
if (cancelButton) cancelButton.onClick.AddListener(OnCancelClicked);
|
if (cancelButton) cancelButton.onClick.AddListener(OnCancelClicked);
|
||||||
if (minigameButton)
|
if (minigameButton) minigameButton.onClick.AddListener(OnMinigameClicked);
|
||||||
{
|
|
||||||
minigameButton.onClick.AddListener(OnMinigameClicked);
|
|
||||||
|
|
||||||
bool minigameUnlocked = true;
|
|
||||||
minigameButton.interactable = minigameUnlocked;
|
|
||||||
padlockIcon.SetActive(!minigameUnlocked);
|
|
||||||
}
|
|
||||||
if (restartButton) restartButton.onClick.AddListener(OnRestartClicked);
|
if (restartButton) restartButton.onClick.AddListener(OnRestartClicked);
|
||||||
if (popupConfirmMenu) popupConfirmMenu.SetActive(false);
|
if (popupConfirmMenu) popupConfirmMenu.SetActive(false);
|
||||||
if (tintTargetImage) _originalTintColor = tintTargetImage.color;
|
if (tintTargetImage) _originalTintColor = tintTargetImage.color;
|
||||||
if (popupConfirmButton) popupConfirmButton.onClick.AddListener(OnPopupConfirmClicked);
|
if (popupConfirmButton) popupConfirmButton.onClick.AddListener(OnPopupConfirmClicked);
|
||||||
if (popupCancelButton) popupCancelButton.onClick.AddListener(OnPopupCancelClicked);
|
if (popupCancelButton) popupCancelButton.onClick.AddListener(OnPopupCancelClicked);
|
||||||
|
|
||||||
|
// --- Minigame unlock state logic ---
|
||||||
|
if (SaveLoadManager.Instance != null)
|
||||||
|
{
|
||||||
|
if (SaveLoadManager.Instance.IsSaveDataLoaded)
|
||||||
|
{
|
||||||
|
ApplyMinigameUnlockStateIfAvailable();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SaveLoadManager.Instance.OnLoadCompleted += OnSaveDataLoadedHandler;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDestroy()
|
private void OnDestroy()
|
||||||
@@ -68,6 +88,10 @@ namespace Levels
|
|||||||
if (restartButton) restartButton.onClick.RemoveListener(OnRestartClicked);
|
if (restartButton) restartButton.onClick.RemoveListener(OnRestartClicked);
|
||||||
if (popupConfirmButton) popupConfirmButton.onClick.RemoveListener(OnPopupConfirmClicked);
|
if (popupConfirmButton) popupConfirmButton.onClick.RemoveListener(OnPopupConfirmClicked);
|
||||||
if (popupCancelButton) popupCancelButton.onClick.RemoveListener(OnPopupCancelClicked);
|
if (popupCancelButton) popupCancelButton.onClick.RemoveListener(OnPopupCancelClicked);
|
||||||
|
if (SaveLoadManager.Instance != null)
|
||||||
|
{
|
||||||
|
SaveLoadManager.Instance.OnLoadCompleted -= OnSaveDataLoadedHandler;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnConfirmClicked()
|
private void OnConfirmClicked()
|
||||||
@@ -106,5 +130,25 @@ namespace Levels
|
|||||||
if (popupConfirmMenu) popupConfirmMenu.SetActive(false);
|
if (popupConfirmMenu) popupConfirmMenu.SetActive(false);
|
||||||
if (tintTargetImage) tintTargetImage.color = _originalTintColor;
|
if (tintTargetImage) tintTargetImage.color = _originalTintColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ApplyMinigameUnlockStateIfAvailable()
|
||||||
|
{
|
||||||
|
if (minigameButton == null || padlockIcon == null || _switchData == null)
|
||||||
|
return;
|
||||||
|
var data = SaveLoadManager.Instance?.currentSaveData;
|
||||||
|
string minigameName = _switchData.targetMinigameSceneName;
|
||||||
|
bool unlocked = data?.unlockedMinigames != null && !string.IsNullOrEmpty(minigameName) && data.unlockedMinigames.Contains(minigameName);
|
||||||
|
minigameButton.interactable = unlocked;
|
||||||
|
padlockIcon.SetActive(!unlocked);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnSaveDataLoadedHandler(string slot)
|
||||||
|
{
|
||||||
|
ApplyMinigameUnlockStateIfAvailable();
|
||||||
|
if (SaveLoadManager.Instance != null)
|
||||||
|
{
|
||||||
|
SaveLoadManager.Instance.OnLoadCompleted -= OnSaveDataLoadedHandler;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
195
Assets/Scripts/Levels/MinigameSwitch.cs
Normal file
195
Assets/Scripts/Levels/MinigameSwitch.cs
Normal file
@@ -0,0 +1,195 @@
|
|||||||
|
using System;
|
||||||
|
using AppleHills.Core.Settings;
|
||||||
|
using Core;
|
||||||
|
using Input;
|
||||||
|
using Interactions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Bootstrap;
|
||||||
|
using PuzzleS;
|
||||||
|
using UnityEngine;
|
||||||
|
using Core.SaveLoad;
|
||||||
|
|
||||||
|
// Added for IInteractionSettings
|
||||||
|
|
||||||
|
namespace Levels
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Handles switching into minigame levels when interacted with. Applies switch data and triggers scene transitions.
|
||||||
|
/// </summary>
|
||||||
|
public class MinigameSwitch : MonoBehaviour
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Data for this level switch (target scene, icon, etc).
|
||||||
|
/// </summary>
|
||||||
|
public LevelSwitchData switchData;
|
||||||
|
private SpriteRenderer _iconRenderer;
|
||||||
|
private Interactable _interactable;
|
||||||
|
|
||||||
|
// Settings reference
|
||||||
|
private IInteractionSettings _interactionSettings;
|
||||||
|
|
||||||
|
private bool _isActive = true;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Unity Awake callback. Sets up icon, interactable, and event handlers.
|
||||||
|
/// </summary>
|
||||||
|
void Awake()
|
||||||
|
{
|
||||||
|
gameObject.SetActive(false); // Start inactive
|
||||||
|
BootCompletionService.RegisterInitAction(InitializePostBoot);
|
||||||
|
|
||||||
|
_isActive = true;
|
||||||
|
if (_iconRenderer == null)
|
||||||
|
_iconRenderer = GetComponent<SpriteRenderer>();
|
||||||
|
_interactable = GetComponent<Interactable>();
|
||||||
|
if (_interactable != null)
|
||||||
|
{
|
||||||
|
_interactable.characterArrived.AddListener(OnCharacterArrived);
|
||||||
|
}
|
||||||
|
// Initialize settings reference
|
||||||
|
_interactionSettings = GameManager.GetSettingsObject<IInteractionSettings>();
|
||||||
|
ApplySwitchData();
|
||||||
|
|
||||||
|
// --- Save state loading logic ---
|
||||||
|
if (SaveLoadManager.Instance != null)
|
||||||
|
{
|
||||||
|
if (SaveLoadManager.Instance.IsSaveDataLoaded)
|
||||||
|
{
|
||||||
|
ApplySavedMinigameStateIfAvailable();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SaveLoadManager.Instance.OnLoadCompleted += OnSaveDataLoadedHandler;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDestroy()
|
||||||
|
{
|
||||||
|
PuzzleManager.Instance.OnAllPuzzlesComplete -= HandleAllPuzzlesComplete;
|
||||||
|
if (_interactable != null)
|
||||||
|
{
|
||||||
|
_interactable.characterArrived.RemoveListener(OnCharacterArrived);
|
||||||
|
}
|
||||||
|
if (SaveLoadManager.Instance != null)
|
||||||
|
{
|
||||||
|
SaveLoadManager.Instance.OnLoadCompleted -= OnSaveDataLoadedHandler;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Apply saved state if present in the SaveLoadManager
|
||||||
|
private void ApplySavedMinigameStateIfAvailable()
|
||||||
|
{
|
||||||
|
var data = SaveLoadManager.Instance?.currentSaveData;
|
||||||
|
if (data?.unlockedMinigames != null && switchData != null &&
|
||||||
|
data.unlockedMinigames.Contains(switchData.targetLevelSceneName))
|
||||||
|
{
|
||||||
|
gameObject.SetActive(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Event handler for when save data load completes
|
||||||
|
private void OnSaveDataLoadedHandler(string slot)
|
||||||
|
{
|
||||||
|
ApplySavedMinigameStateIfAvailable();
|
||||||
|
if (SaveLoadManager.Instance != null)
|
||||||
|
{
|
||||||
|
SaveLoadManager.Instance.OnLoadCompleted -= OnSaveDataLoadedHandler;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandleAllPuzzlesComplete(PuzzleS.PuzzleLevelDataSO _)
|
||||||
|
{
|
||||||
|
// Unlock and save
|
||||||
|
if (switchData != null)
|
||||||
|
{
|
||||||
|
var unlocked = SaveLoadManager.Instance.currentSaveData.unlockedMinigames;
|
||||||
|
string minigameName = switchData.targetLevelSceneName;
|
||||||
|
if (!unlocked.Contains(minigameName))
|
||||||
|
{
|
||||||
|
unlocked.Add(minigameName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gameObject.SetActive(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
/// <summary>
|
||||||
|
/// Unity OnValidate callback. Ensures icon and data are up to date in editor.
|
||||||
|
/// </summary>
|
||||||
|
void OnValidate()
|
||||||
|
{
|
||||||
|
if (_iconRenderer == null)
|
||||||
|
_iconRenderer = GetComponent<SpriteRenderer>();
|
||||||
|
ApplySwitchData();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Applies the switch data to the level switch (icon, name, etc).
|
||||||
|
/// </summary>
|
||||||
|
public void ApplySwitchData()
|
||||||
|
{
|
||||||
|
if (switchData != null)
|
||||||
|
{
|
||||||
|
if (_iconRenderer != null)
|
||||||
|
_iconRenderer.sprite = switchData.mapSprite;
|
||||||
|
gameObject.name = switchData.targetLevelSceneName;
|
||||||
|
// Optionally update other fields, e.g. description
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Handles the start of an interaction (shows confirmation menu and switches the level if confirmed).
|
||||||
|
/// </summary>
|
||||||
|
private void OnCharacterArrived()
|
||||||
|
{
|
||||||
|
if (switchData == null || string.IsNullOrEmpty(switchData.targetLevelSceneName) || !_isActive)
|
||||||
|
return;
|
||||||
|
|
||||||
|
var menuPrefab = _interactionSettings?.MinigameSwitchMenuPrefab;
|
||||||
|
if (menuPrefab == null)
|
||||||
|
{
|
||||||
|
Debug.LogError("MinigameSwitchMenu prefab not assigned in InteractionSettings!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// Spawn the menu overlay (assume Canvas parent is handled in prefab setup)
|
||||||
|
var menuGo = Instantiate(menuPrefab);
|
||||||
|
var menu = menuGo.GetComponent<MinigameSwitchMenu>();
|
||||||
|
if (menu == null)
|
||||||
|
{
|
||||||
|
Debug.LogError("MinigameSwitchMenu component missing on prefab!");
|
||||||
|
Destroy(menuGo);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// Setup menu with data and callbacks
|
||||||
|
menu.Setup(switchData, OnLevelSelectedWrapper, OnMenuCancel);
|
||||||
|
_isActive = false; // Prevent re-triggering until menu is closed
|
||||||
|
|
||||||
|
// Switch input mode to UI only
|
||||||
|
InputManager.Instance.SetInputMode(InputMode.UI);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnLevelSelectedWrapper()
|
||||||
|
{
|
||||||
|
_ = OnLevelSelected();
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task OnLevelSelected()
|
||||||
|
{
|
||||||
|
var progress = new Progress<float>(p => Logging.Debug($"Loading progress: {p * 100:F0}%"));
|
||||||
|
await SceneManagerService.Instance.SwitchSceneAsync(switchData.targetLevelSceneName, progress);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnMenuCancel()
|
||||||
|
{
|
||||||
|
_isActive = true; // Allow interaction again if cancelled
|
||||||
|
InputManager.Instance.SetInputMode(InputMode.GameAndUI);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitializePostBoot()
|
||||||
|
{
|
||||||
|
PuzzleManager.Instance.OnAllPuzzlesComplete += HandleAllPuzzlesComplete;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
3
Assets/Scripts/Levels/MinigameSwitch.cs.meta
Normal file
3
Assets/Scripts/Levels/MinigameSwitch.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d9b7a2b4b1fe492aae7b0f280b4063cf
|
||||||
|
timeCreated: 1761725126
|
||||||
77
Assets/Scripts/Levels/MinigameSwitchMenu.cs
Normal file
77
Assets/Scripts/Levels/MinigameSwitchMenu.cs
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
using System;
|
||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
namespace Levels
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// UI overlay for confirming a level switch. Displays level info and handles confirm/cancel actions, and supports leaderboard view.
|
||||||
|
/// </summary>
|
||||||
|
public class MinigameSwitchMenu : MonoBehaviour
|
||||||
|
{
|
||||||
|
[Header("UI References")]
|
||||||
|
public Image iconImage;
|
||||||
|
public TMP_Text levelNameText;
|
||||||
|
public Button confirmButton;
|
||||||
|
public Button cancelButton;
|
||||||
|
public Button leaderboardButton;
|
||||||
|
public GameObject levelInfoContainer;
|
||||||
|
public GameObject leaderboardContainer;
|
||||||
|
public Button leaderboardDismissButton;
|
||||||
|
|
||||||
|
private Action _onLevelConfirm;
|
||||||
|
private Action _onCancel;
|
||||||
|
private LevelSwitchData _switchData;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initialize the menu with data and callbacks.
|
||||||
|
/// </summary>
|
||||||
|
public void Setup(LevelSwitchData switchData, Action onLevelConfirm, Action onCancel)
|
||||||
|
{
|
||||||
|
_switchData = switchData;
|
||||||
|
_onLevelConfirm = onLevelConfirm;
|
||||||
|
_onCancel = onCancel;
|
||||||
|
if (iconImage) iconImage.sprite = switchData?.menuSprite ?? switchData?.mapSprite;
|
||||||
|
if (levelNameText) levelNameText.text = switchData?.targetLevelSceneName ?? "";
|
||||||
|
if (confirmButton) confirmButton.onClick.AddListener(OnConfirmClicked);
|
||||||
|
if (cancelButton) cancelButton.onClick.AddListener(OnCancelClicked);
|
||||||
|
if (leaderboardButton) leaderboardButton.onClick.AddListener(OnLeaderboardClicked);
|
||||||
|
if (leaderboardDismissButton) leaderboardDismissButton.onClick.AddListener(OnLeaderboardDismissClicked);
|
||||||
|
if (levelInfoContainer) levelInfoContainer.SetActive(true);
|
||||||
|
if (leaderboardContainer) leaderboardContainer.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDestroy()
|
||||||
|
{
|
||||||
|
if (confirmButton) confirmButton.onClick.RemoveListener(OnConfirmClicked);
|
||||||
|
if (cancelButton) cancelButton.onClick.RemoveListener(OnCancelClicked);
|
||||||
|
if (leaderboardButton) leaderboardButton.onClick.RemoveListener(OnLeaderboardClicked);
|
||||||
|
if (leaderboardDismissButton) leaderboardDismissButton.onClick.RemoveListener(OnLeaderboardDismissClicked);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnConfirmClicked()
|
||||||
|
{
|
||||||
|
_onLevelConfirm?.Invoke();
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnCancelClicked()
|
||||||
|
{
|
||||||
|
_onCancel?.Invoke();
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnLeaderboardClicked()
|
||||||
|
{
|
||||||
|
if (levelInfoContainer) levelInfoContainer.SetActive(false);
|
||||||
|
if (leaderboardContainer) leaderboardContainer.SetActive(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnLeaderboardDismissClicked()
|
||||||
|
{
|
||||||
|
if (levelInfoContainer) levelInfoContainer.SetActive(true);
|
||||||
|
if (leaderboardContainer) leaderboardContainer.SetActive(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
3
Assets/Scripts/Levels/MinigameSwitchMenu.cs.meta
Normal file
3
Assets/Scripts/Levels/MinigameSwitchMenu.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fc21f4724bf441f7bd4c5ec7d6463d66
|
||||||
|
timeCreated: 1761725170
|
||||||
@@ -197,11 +197,11 @@ namespace UI
|
|||||||
// pass obeyTimescale = false so this tween runs even when Time.timeScale == 0
|
// pass obeyTimescale = false so this tween runs even when Time.timeScale == 0
|
||||||
Tween.Value(0f, 1f, (v) =>
|
Tween.Value(0f, 1f, (v) =>
|
||||||
{
|
{
|
||||||
Logging.Debug($"[PauseMenu] Tweening pause menu alpha: {v}");
|
// Logging.Debug($"[PauseMenu] Tweening pause menu alpha: {v}");
|
||||||
canvasGroup.alpha = v;
|
canvasGroup.alpha = v;
|
||||||
}, transitionDuration, 0f, Tween.EaseInOut, Tween.LoopType.None, null, () =>
|
}, transitionDuration, 0f, Tween.EaseInOut, Tween.LoopType.None, null, () =>
|
||||||
{
|
{
|
||||||
Logging.Debug("[PauseMenu] Finished tweening pause menu in.");
|
// Logging.Debug("[PauseMenu] Finished tweening pause menu in.");
|
||||||
onComplete?.Invoke();
|
onComplete?.Invoke();
|
||||||
}, false);
|
}, false);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,8 +36,6 @@ MonoBehaviour:
|
|||||||
speedUpFactor: 0
|
speedUpFactor: 0
|
||||||
speedUpInterval: 10
|
speedUpInterval: 10
|
||||||
maxNormalizedTileMoveSpeed: 3
|
maxNormalizedTileMoveSpeed: 3
|
||||||
moveSpeed: 1
|
|
||||||
maxMoveSpeed: 12
|
|
||||||
velocityCalculationInterval: 0.5
|
velocityCalculationInterval: 0.5
|
||||||
obstacleSpawnInterval: 10000000
|
obstacleSpawnInterval: 10000000
|
||||||
obstacleSpawnIntervalVariation: 0.5
|
obstacleSpawnIntervalVariation: 0.5
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ MonoBehaviour:
|
|||||||
m_Bits: 1024
|
m_Bits: 1024
|
||||||
basePickupPrefab: {fileID: 7447346505753002421, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3}
|
basePickupPrefab: {fileID: 7447346505753002421, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3}
|
||||||
levelSwitchMenuPrefab: {fileID: 4062459998181038721, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
|
levelSwitchMenuPrefab: {fileID: 4062459998181038721, guid: de2ed28e4200a4340a5af4086c98a0dc, type: 3}
|
||||||
|
minigameSwitchMenuPrefab: {fileID: 4062459998181038721, guid: 9ce7e3d5fb1b4f24ca160b73b16f28da, type: 3}
|
||||||
defaultPuzzleIndicatorPrefab: {fileID: 4963699568605073487, guid: cac39b7f8f414e7499e7b672d8710642, type: 3}
|
defaultPuzzleIndicatorPrefab: {fileID: 4963699568605073487, guid: cac39b7f8f414e7499e7b672d8710642, type: 3}
|
||||||
defaultPuzzlePromptRange: 10
|
defaultPuzzlePromptRange: 10
|
||||||
combinationRules:
|
combinationRules:
|
||||||
|
|||||||
Reference in New Issue
Block a user