Refine UI stack and add Ashwick keypad puzzle
1
.claude/worktrees/heuristic-wright-1487d8
Submodule
@@ -26,11 +26,6 @@ MonoBehaviour:
|
|||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
m_SerializedLabels: []
|
m_SerializedLabels: []
|
||||||
FlaggedDuringContentUpdateRestriction: 0
|
FlaggedDuringContentUpdateRestriction: 0
|
||||||
- m_GUID: 9ad5adbf83cf74c26873156b9a975cb4
|
|
||||||
m_Address: Assets/Data/Prefabs/Levels/Chapter One/Ashwick Hallow/C1_RAshwick_Ridgeway.prefab
|
|
||||||
m_ReadOnly: 0
|
|
||||||
m_SerializedLabels: []
|
|
||||||
FlaggedDuringContentUpdateRestriction: 0
|
|
||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
m_Settings: {fileID: 11400000, guid: b88fd73a09926470bad6fbcc5e204467, type: 2}
|
m_Settings: {fileID: 11400000, guid: b88fd73a09926470bad6fbcc5e204467, type: 2}
|
||||||
m_SchemaSet:
|
m_SchemaSet:
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.4 MiB After Width: | Height: | Size: 3.4 MiB |
|
Before Width: | Height: | Size: 2.4 MiB |
|
Before Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 937 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 2.6 MiB |
|
After Width: | Height: | Size: 2.4 MiB |
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 104572cca65364c53be1097bb5c3dbd4
|
guid: b575910de5ea144bfb271fa080e99df7
|
||||||
TextureImporter:
|
TextureImporter:
|
||||||
internalIDToNameTable: []
|
internalIDToNameTable: []
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
Before Width: | Height: | Size: 469 KiB After Width: | Height: | Size: 469 KiB |
|
After Width: | Height: | Size: 29 KiB |
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 66b1cc83801c94a85b950fb768f1a159
|
guid: 584849d627012449fac35dbd2981ff99
|
||||||
TextureImporter:
|
TextureImporter:
|
||||||
internalIDToNameTable: []
|
internalIDToNameTable: []
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
After Width: | Height: | Size: 1.8 MiB |
@@ -0,0 +1,143 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 800f7614145444ed4b622c80a6316d58
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
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: 0
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
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: 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: 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: 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
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
customData:
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
spriteCustomMetadata:
|
||||||
|
entries: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 9ad5adbf83cf74c26873156b9a975cb4
|
|
||||||
PrefabImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -111,7 +111,7 @@ Material:
|
|||||||
- _OcclusionStrength: 1
|
- _OcclusionStrength: 1
|
||||||
- _Parallax: 0.005
|
- _Parallax: 0.005
|
||||||
- _QueueOffset: 0
|
- _QueueOffset: 0
|
||||||
- _Radius: 0
|
- _Radius: 0.144
|
||||||
- _ReceiveShadows: 1
|
- _ReceiveShadows: 1
|
||||||
- _Smoothness: 0.5
|
- _Smoothness: 0.5
|
||||||
- _SmoothnessTextureChannel: 0
|
- _SmoothnessTextureChannel: 0
|
||||||
|
|||||||
@@ -816,7 +816,6 @@ RectTransform:
|
|||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 416449373}
|
- {fileID: 416449373}
|
||||||
- {fileID: 1425763776}
|
- {fileID: 1425763776}
|
||||||
- {fileID: 1518385058}
|
|
||||||
m_Father: {fileID: 1216136270}
|
m_Father: {fileID: 1216136270}
|
||||||
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: 0}
|
||||||
@@ -1187,20 +1186,20 @@ RectTransform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 534739474}
|
m_GameObject: {fileID: 534739474}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 1292853201}
|
- {fileID: 1292853201}
|
||||||
- {fileID: 1677150152}
|
- {fileID: 1677150152}
|
||||||
m_Father: {fileID: 1425763776}
|
m_Father: {fileID: 1287558152}
|
||||||
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: 0}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 100, y: 100}
|
m_SizeDelta: {x: 100, y: 100}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
--- !u!114 &534739476
|
--- !u!114 &534739476
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -2698,7 +2697,7 @@ MonoBehaviour:
|
|||||||
_pressStartText: {fileID: 676780942}
|
_pressStartText: {fileID: 676780942}
|
||||||
_introGroupDissolveGroup: {fileID: 1251031440}
|
_introGroupDissolveGroup: {fileID: 1251031440}
|
||||||
_mainMenuGroup: {fileID: 365451919}
|
_mainMenuGroup: {fileID: 365451919}
|
||||||
_buttonsGroup: {fileID: 1425763779}
|
_displayGroup: {fileID: 1425763779}
|
||||||
_mainMenuSelectionGroup: {fileID: 1425763778}
|
_mainMenuSelectionGroup: {fileID: 1425763778}
|
||||||
_startGameSelectionButton: {fileID: 2092529973}
|
_startGameSelectionButton: {fileID: 2092529973}
|
||||||
_settingsSelectionButton: {fileID: 534739476}
|
_settingsSelectionButton: {fileID: 534739476}
|
||||||
@@ -2742,6 +2741,22 @@ MonoBehaviour:
|
|||||||
useUnscaledTime: 1
|
useUnscaledTime: 1
|
||||||
_useFixedUpdate: 0
|
_useFixedUpdate: 0
|
||||||
_updateType: 0
|
_updateType: 0
|
||||||
|
_settingsOverlayTweenSettings:
|
||||||
|
duration: 0.25
|
||||||
|
ease: 6
|
||||||
|
customEase:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve: []
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
cycles: 0
|
||||||
|
cycleMode: 0
|
||||||
|
startDelay: 0
|
||||||
|
endDelay: 0
|
||||||
|
useUnscaledTime: 1
|
||||||
|
_useFixedUpdate: 0
|
||||||
|
_updateType: 0
|
||||||
_pressStartPulseTweenSettings:
|
_pressStartPulseTweenSettings:
|
||||||
duration: 0.85
|
duration: 0.85
|
||||||
ease: 4
|
ease: 4
|
||||||
@@ -2986,6 +3001,71 @@ CanvasRenderer:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1275027011}
|
m_GameObject: {fileID: 1275027011}
|
||||||
m_CullTransparentMesh: 1
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!1 &1287558151
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1287558152}
|
||||||
|
- component: {fileID: 1287558153}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Buttons
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &1287558152
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1287558151}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 2092529972}
|
||||||
|
- {fileID: 534739475}
|
||||||
|
- {fileID: 1477093090}
|
||||||
|
m_Father: {fileID: 1425763776}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 112, y: 335}
|
||||||
|
m_SizeDelta: {x: 100, y: 100}
|
||||||
|
m_Pivot: {x: 0, y: 0}
|
||||||
|
--- !u!114 &1287558153
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1287558151}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup
|
||||||
|
m_Padding:
|
||||||
|
m_Left: 0
|
||||||
|
m_Right: 0
|
||||||
|
m_Top: 0
|
||||||
|
m_Bottom: 0
|
||||||
|
m_ChildAlignment: 0
|
||||||
|
m_Spacing: 100
|
||||||
|
m_ChildForceExpandWidth: 1
|
||||||
|
m_ChildForceExpandHeight: 1
|
||||||
|
m_ChildControlWidth: 0
|
||||||
|
m_ChildControlHeight: 0
|
||||||
|
m_ChildScaleWidth: 0
|
||||||
|
m_ChildScaleHeight: 0
|
||||||
|
m_ReverseArrangement: 0
|
||||||
--- !u!1 &1292853200
|
--- !u!1 &1292853200
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -3269,11 +3349,10 @@ GameObject:
|
|||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 1425763776}
|
- component: {fileID: 1425763776}
|
||||||
- component: {fileID: 1425763777}
|
|
||||||
- component: {fileID: 1425763778}
|
- component: {fileID: 1425763778}
|
||||||
- component: {fileID: 1425763779}
|
- component: {fileID: 1425763779}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Buttons
|
m_Name: Display
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@@ -3291,42 +3370,15 @@ RectTransform:
|
|||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2092529972}
|
- {fileID: 1518385058}
|
||||||
- {fileID: 534739475}
|
- {fileID: 1287558152}
|
||||||
- {fileID: 1477093090}
|
|
||||||
m_Father: {fileID: 365451918}
|
m_Father: {fileID: 365451918}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: -711, y: -246}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 100, y: 100}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &1425763777
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1425763775}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup
|
|
||||||
m_Padding:
|
|
||||||
m_Left: 0
|
|
||||||
m_Right: 0
|
|
||||||
m_Top: 0
|
|
||||||
m_Bottom: 0
|
|
||||||
m_ChildAlignment: 0
|
|
||||||
m_Spacing: 100
|
|
||||||
m_ChildForceExpandWidth: 1
|
|
||||||
m_ChildForceExpandHeight: 1
|
|
||||||
m_ChildControlWidth: 0
|
|
||||||
m_ChildControlHeight: 0
|
|
||||||
m_ChildScaleWidth: 0
|
|
||||||
m_ChildScaleHeight: 0
|
|
||||||
m_ReverseArrangement: 0
|
|
||||||
--- !u!114 &1425763778
|
--- !u!114 &1425763778
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -3383,20 +3435,20 @@ RectTransform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1477093089}
|
m_GameObject: {fileID: 1477093089}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 1882478302}
|
- {fileID: 1882478302}
|
||||||
- {fileID: 377952812}
|
- {fileID: 377952812}
|
||||||
m_Father: {fileID: 1425763776}
|
m_Father: {fileID: 1287558152}
|
||||||
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: 0}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 100, y: 100}
|
m_SizeDelta: {x: 100, y: 100}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
--- !u!114 &1477093091
|
--- !u!114 &1477093091
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -3620,11 +3672,11 @@ RectTransform:
|
|||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 1719828717}
|
- {fileID: 1719828717}
|
||||||
m_Father: {fileID: 365451918}
|
m_Father: {fileID: 1425763776}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
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: 124, y: -68}
|
m_AnchoredPosition: {x: 64, y: -115}
|
||||||
m_SizeDelta: {x: 893.3687, y: 115.333496}
|
m_SizeDelta: {x: 893.3687, y: 115.333496}
|
||||||
m_Pivot: {x: 0, y: 1}
|
m_Pivot: {x: 0, y: 1}
|
||||||
--- !u!225 &1518385059
|
--- !u!225 &1518385059
|
||||||
@@ -4804,20 +4856,20 @@ RectTransform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 2092529971}
|
m_GameObject: {fileID: 2092529971}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 1275027012}
|
- {fileID: 1275027012}
|
||||||
- {fileID: 317717159}
|
- {fileID: 317717159}
|
||||||
m_Father: {fileID: 1425763776}
|
m_Father: {fileID: 1287558152}
|
||||||
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: 0}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 100, y: 100}
|
m_SizeDelta: {x: 100, y: 100}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
--- !u!114 &2092529973
|
--- !u!114 &2092529973
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -174,7 +174,7 @@ Light:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 203844586}
|
m_GameObject: {fileID: 203844586}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
serializedVersion: 12
|
serializedVersion: 13
|
||||||
m_Type: 1
|
m_Type: 1
|
||||||
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
|
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
|
||||||
m_Intensity: 1
|
m_Intensity: 1
|
||||||
@@ -226,7 +226,7 @@ Light:
|
|||||||
m_UseBoundingSphereOverride: 0
|
m_UseBoundingSphereOverride: 0
|
||||||
m_UseViewFrustumForShadowCasterCull: 1
|
m_UseViewFrustumForShadowCasterCull: 1
|
||||||
m_ForceVisible: 0
|
m_ForceVisible: 0
|
||||||
m_ShadowRadius: 0
|
m_ShapeRadius: 0
|
||||||
m_ShadowAngle: 0
|
m_ShadowAngle: 0
|
||||||
m_LightUnit: 1
|
m_LightUnit: 1
|
||||||
m_LuxAtDistance: 1
|
m_LuxAtDistance: 1
|
||||||
@@ -246,6 +246,44 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
|
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
|
||||||
|
--- !u!1 &285394230
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 285394231}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Gate
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &285394231
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 285394230}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 1155499929}
|
||||||
|
- {fileID: 1565395032}
|
||||||
|
- {fileID: 652020456}
|
||||||
|
m_Father: {fileID: 1253864016}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 100, y: 100}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!1 &290940345
|
--- !u!1 &290940345
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -383,6 +421,412 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1 &652020455
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 652020456}
|
||||||
|
- component: {fileID: 652020460}
|
||||||
|
- component: {fileID: 652020459}
|
||||||
|
- component: {fileID: 652020457}
|
||||||
|
- component: {fileID: 652020461}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Keypad Zone
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &652020456
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 652020455}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 285394231}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: -6.3408, y: -135.728}
|
||||||
|
m_SizeDelta: {x: 135.7673, y: 196.0822}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!225 &652020457
|
||||||
|
CanvasGroup:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 652020455}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_Alpha: 1
|
||||||
|
m_Interactable: 1
|
||||||
|
m_BlocksRaycasts: 1
|
||||||
|
m_IgnoreParentGroups: 0
|
||||||
|
--- !u!114 &652020459
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 652020455}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 0}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 0}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!222 &652020460
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 652020455}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &652020461
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 652020455}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 9528c00201e44fc2baf036655881cf0d, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: BriarQueen.Game::BriarQueen.Game.Items.HoverZones.TransitionZone
|
||||||
|
_levelToLoad: 4
|
||||||
|
_levelName:
|
||||||
|
_lockedTooltipText:
|
||||||
|
_lockedInteractText:
|
||||||
|
_locked: 0
|
||||||
|
_cursorStyle: 6
|
||||||
|
_soundEffectOnClick: 0
|
||||||
|
CanvasGroup: {fileID: 0}
|
||||||
|
--- !u!1 &778009335
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 778009340}
|
||||||
|
- component: {fileID: 778009339}
|
||||||
|
- component: {fileID: 778009338}
|
||||||
|
- component: {fileID: 778009337}
|
||||||
|
- component: {fileID: 778009336}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: C1 - Ashwick Hallow - Outskirts
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!114 &778009336
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 778009335}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: b17e98637f5042b4b70962875c373f5f, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: BriarQueen.Game::BriarQueen.Game.Levels.ChapterOne.Ashwick.AshwickOutskirts
|
||||||
|
_levelKey: 0
|
||||||
|
_levelName:
|
||||||
|
Pickups: []
|
||||||
|
CodexTriggers: []
|
||||||
|
Puzzles: []
|
||||||
|
_raycaster: {fileID: 778009337}
|
||||||
|
_background: {fileID: 0}
|
||||||
|
_backgroundOpenSprite: {fileID: 0}
|
||||||
|
--- !u!114 &778009337
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 778009335}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster
|
||||||
|
m_IgnoreReversedGraphics: 1
|
||||||
|
m_BlockingObjects: 0
|
||||||
|
m_BlockingMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
--- !u!114 &778009338
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 778009335}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler
|
||||||
|
m_UiScaleMode: 1
|
||||||
|
m_ReferencePixelsPerUnit: 100
|
||||||
|
m_ScaleFactor: 1
|
||||||
|
m_ReferenceResolution: {x: 1920, y: 1200}
|
||||||
|
m_ScreenMatchMode: 0
|
||||||
|
m_MatchWidthOrHeight: 0.5
|
||||||
|
m_PhysicalUnit: 3
|
||||||
|
m_FallbackScreenDPI: 96
|
||||||
|
m_DefaultSpriteDPI: 96
|
||||||
|
m_DynamicPixelsPerUnit: 1
|
||||||
|
m_PresetInfoIsWorld: 0
|
||||||
|
--- !u!223 &778009339
|
||||||
|
Canvas:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 778009335}
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_RenderMode: 0
|
||||||
|
m_Camera: {fileID: 0}
|
||||||
|
m_PlaneDistance: 100
|
||||||
|
m_PixelPerfect: 0
|
||||||
|
m_ReceivesEvents: 1
|
||||||
|
m_OverrideSorting: 0
|
||||||
|
m_OverridePixelPerfect: 0
|
||||||
|
m_SortingBucketNormalizedSize: 0
|
||||||
|
m_VertexColorAlwaysGammaSpace: 0
|
||||||
|
m_UseReflectionProbes: 0
|
||||||
|
m_AdditionalShaderChannelsFlag: 0
|
||||||
|
m_UpdateRectTransformForStandalone: 0
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_TargetDisplay: 0
|
||||||
|
--- !u!224 &778009340
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 778009335}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 1253864016}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
|
m_Pivot: {x: 0, y: 0}
|
||||||
|
--- !u!1 &1155499928
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1155499929}
|
||||||
|
- component: {fileID: 1155499932}
|
||||||
|
- component: {fileID: 1155499931}
|
||||||
|
- component: {fileID: 1155499930}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Next Level Zone
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &1155499929
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1155499928}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 285394231}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: 0.7054, y: -128.2476}
|
||||||
|
m_SizeDelta: {x: 1033.4109, y: 522.4951}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!114 &1155499930
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1155499928}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 9528c00201e44fc2baf036655881cf0d, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: BriarQueen.Game::BriarQueen.Game.Items.HoverZones.TransitionZone
|
||||||
|
_levelToLoad: 0
|
||||||
|
_levelName:
|
||||||
|
_lockedTooltipText:
|
||||||
|
_lockedInteractText:
|
||||||
|
_locked: 0
|
||||||
|
_cursorStyle: 6
|
||||||
|
_soundEffectOnClick: 0
|
||||||
|
CanvasGroup: {fileID: 0}
|
||||||
|
--- !u!114 &1155499931
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1155499928}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 0}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 0}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!222 &1155499932
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1155499928}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!1 &1253864015
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1253864016}
|
||||||
|
- component: {fileID: 1253864018}
|
||||||
|
- component: {fileID: 1253864017}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Background
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &1253864016
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1253864015}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 1927796941}
|
||||||
|
- {fileID: 285394231}
|
||||||
|
m_Father: {fileID: 778009340}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!114 &1253864017
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1253864015}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 21300000, guid: d9a30acbf766745e48561f564db262ee, type: 3}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!222 &1253864018
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1253864015}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
--- !u!1 &1399123064
|
--- !u!1 &1399123064
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -462,6 +906,216 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1 &1565395031
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1565395032}
|
||||||
|
- component: {fileID: 1565395036}
|
||||||
|
- component: {fileID: 1565395035}
|
||||||
|
- component: {fileID: 1565395034}
|
||||||
|
- component: {fileID: 1565395033}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Ashwick Gate
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &1565395032
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1565395031}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 285394231}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: 0.7054, y: -128.2476}
|
||||||
|
m_SizeDelta: {x: 1033.4109, y: 522.4951}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!225 &1565395033
|
||||||
|
CanvasGroup:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1565395031}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_Alpha: 1
|
||||||
|
m_Interactable: 1
|
||||||
|
m_BlocksRaycasts: 1
|
||||||
|
m_IgnoreParentGroups: 0
|
||||||
|
--- !u!114 &1565395034
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1565395031}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 1bc3c6697e5b4c029e807116f930e9a3, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: BriarQueen.Game::BriarQueen.Game.Puzzles.ChapterOne.AshwickHallow.GatePuzzle.AshwickGate
|
||||||
|
_itemData: {fileID: 0}
|
||||||
|
_interactableTooltip:
|
||||||
|
_pickupText:
|
||||||
|
_canvasGroup: {fileID: 1565395033}
|
||||||
|
--- !u!114 &1565395035
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1565395031}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 0}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 0}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!222 &1565395036
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1565395031}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!1 &1598455747
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1598455748}
|
||||||
|
- component: {fileID: 1598455752}
|
||||||
|
- component: {fileID: 1598455751}
|
||||||
|
- component: {fileID: 1598455750}
|
||||||
|
- component: {fileID: 1598455749}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Teddy Bear
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &1598455748
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1598455747}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1927796941}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: 582, y: -395}
|
||||||
|
m_SizeDelta: {x: 117, y: 130}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!225 &1598455749
|
||||||
|
CanvasGroup:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1598455747}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_Alpha: 1
|
||||||
|
m_Interactable: 1
|
||||||
|
m_BlocksRaycasts: 1
|
||||||
|
m_IgnoreParentGroups: 0
|
||||||
|
--- !u!114 &1598455750
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1598455747}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 529a2a922f6f48a982159e2dbc41c542, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: BriarQueen.Framework::BriarQueen.Framework.Managers.Levels.Data.BaseItem
|
||||||
|
_itemData: {fileID: 11400000, guid: a39f2408f72ff4d01a10e37e76dcd84b, type: 2}
|
||||||
|
_interactableTooltip:
|
||||||
|
_pickupText: Dirty Teddy Bear
|
||||||
|
_canvasGroup: {fileID: 1598455749}
|
||||||
|
--- !u!114 &1598455751
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1598455747}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 21300000, guid: 357e8b2f7ab3044ba8098c50e16a169b, type: 3}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!222 &1598455752
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1598455747}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
--- !u!1 &1684932629
|
--- !u!1 &1684932629
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -506,107 +1160,42 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1001 &484196172824267200
|
--- !u!1 &1927796940
|
||||||
PrefabInstance:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 2
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_Modification:
|
m_PrefabInstance: {fileID: 0}
|
||||||
serializedVersion: 3
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_TransformParent: {fileID: 0}
|
serializedVersion: 6
|
||||||
m_Modifications:
|
m_Component:
|
||||||
- target: {fileID: 3834506191261054081, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
- component: {fileID: 1927796941}
|
||||||
propertyPath: m_Name
|
m_Layer: 5
|
||||||
value: C1 - Ashwick Hallow - Marketplace
|
m_Name: Items
|
||||||
objectReference: {fileID: 0}
|
m_TagString: Untagged
|
||||||
- target: {fileID: 3834506191261054081, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
m_Icon: {fileID: 0}
|
||||||
propertyPath: m_IsActive
|
m_NavMeshLayer: 0
|
||||||
value: 1
|
m_StaticEditorFlags: 0
|
||||||
objectReference: {fileID: 0}
|
m_IsActive: 1
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
--- !u!224 &1927796941
|
||||||
propertyPath: m_Pivot.x
|
RectTransform:
|
||||||
value: 0
|
m_ObjectHideFlags: 0
|
||||||
objectReference: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
m_PrefabInstance: {fileID: 0}
|
||||||
propertyPath: m_Pivot.y
|
m_PrefabAsset: {fileID: 0}
|
||||||
value: 0
|
m_GameObject: {fileID: 1927796940}
|
||||||
objectReference: {fileID: 0}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
propertyPath: m_AnchorMax.x
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
value: 0
|
m_ConstrainProportionsScale: 0
|
||||||
objectReference: {fileID: 0}
|
m_Children:
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
- {fileID: 1598455748}
|
||||||
propertyPath: m_AnchorMax.y
|
m_Father: {fileID: 1253864016}
|
||||||
value: 0
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
objectReference: {fileID: 0}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
propertyPath: m_AnchorMin.x
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
value: 0
|
m_SizeDelta: {x: 100, y: 100}
|
||||||
objectReference: {fileID: 0}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
propertyPath: m_AnchorMin.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
propertyPath: m_SizeDelta.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
propertyPath: m_SizeDelta.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.w
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 6698916268511761357, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
m_RemovedComponents: []
|
|
||||||
m_RemovedGameObjects: []
|
|
||||||
m_AddedGameObjects: []
|
|
||||||
m_AddedComponents: []
|
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 22000bda479564d5b95d3cdc42a29f33, type: 3}
|
|
||||||
--- !u!1660057539 &9223372036854775807
|
--- !u!1660057539 &9223372036854775807
|
||||||
SceneRoots:
|
SceneRoots:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -614,5 +1203,5 @@ SceneRoots:
|
|||||||
- {fileID: 203844589}
|
- {fileID: 203844589}
|
||||||
- {fileID: 1684932631}
|
- {fileID: 1684932631}
|
||||||
- {fileID: 290940349}
|
- {fileID: 290940349}
|
||||||
- {fileID: 484196172824267200}
|
|
||||||
- {fileID: 1399123067}
|
- {fileID: 1399123067}
|
||||||
|
- {fileID: 778009340}
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ namespace BriarQueen.Data.IO.Saves
|
|||||||
public enum LevelFlag
|
public enum LevelFlag
|
||||||
{
|
{
|
||||||
None = 0,
|
None = 0,
|
||||||
MarketGateOpen,
|
AshwickGateOpen,
|
||||||
MarketplaceFirstEntry,
|
MarketplaceFirstEntry,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,13 +25,9 @@ namespace BriarQueen.Data.Identifiers
|
|||||||
{
|
{
|
||||||
None = 0,
|
None = 0,
|
||||||
ChapterOneArrivalRoad,
|
ChapterOneArrivalRoad,
|
||||||
ChapterOneAshwickRidgeway,
|
ChapterOneAshwickOutskirts,
|
||||||
ChapterOneInsideBrokenDownCar,
|
ChapterOneInsideBrokenDownCar,
|
||||||
ChapterOneAshwickMarketplace,
|
ChapterOneAshwickOutskirtsKeypad,
|
||||||
ChapterOneAshwickMournfall,
|
|
||||||
ChapterOneAshwickRavensQuill,
|
|
||||||
ChapterOneGloomedVeil,
|
|
||||||
ChapterOneAshwickWaxworks
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum AssetItemKey
|
public enum AssetItemKey
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
using BriarQueen.Framework.Events.System;
|
||||||
|
using BriarQueen.Framework.Managers.UI.Base;
|
||||||
|
|
||||||
|
namespace BriarQueen.Framework.Events.UI
|
||||||
|
{
|
||||||
|
public record UIWindowStateChangedEvent(WindowType WindowType, bool IsOpen) : IEvent;
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1d8f895856a064fb09a7f2ec4393f686
|
||||||
@@ -5,6 +5,7 @@ using BriarQueen.Framework.Events.Gameplay;
|
|||||||
using BriarQueen.Framework.Events.Input;
|
using BriarQueen.Framework.Events.Input;
|
||||||
using BriarQueen.Framework.Events.UI;
|
using BriarQueen.Framework.Events.UI;
|
||||||
using BriarQueen.Framework.Managers.UI;
|
using BriarQueen.Framework.Managers.UI;
|
||||||
|
using BriarQueen.Framework.Managers.UI.Base;
|
||||||
using BriarQueen.Framework.Services.Game;
|
using BriarQueen.Framework.Services.Game;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.InputSystem;
|
using UnityEngine.InputSystem;
|
||||||
@@ -109,7 +110,7 @@ namespace BriarQueen.Framework.Managers.Input
|
|||||||
if (_eventCoordinator != null)
|
if (_eventCoordinator != null)
|
||||||
{
|
{
|
||||||
_eventCoordinator.Unsubscribe<UIToggleHudEvent>(OnHudStateChanged);
|
_eventCoordinator.Unsubscribe<UIToggleHudEvent>(OnHudStateChanged);
|
||||||
_eventCoordinator.Unsubscribe<ToggleCodexEvent>(OnCodexStateChanged);
|
_eventCoordinator.Unsubscribe<UIWindowStateChangedEvent>(OnWindowStateChanged);
|
||||||
_eventCoordinator.Unsubscribe<ToggleToolScreenEvent>(OnToolScreenStateChanged);
|
_eventCoordinator.Unsubscribe<ToggleToolScreenEvent>(OnToolScreenStateChanged);
|
||||||
_eventCoordinator.Unsubscribe<UIStackChangedEvent>(OnUIStackChanged);
|
_eventCoordinator.Unsubscribe<UIStackChangedEvent>(OnUIStackChanged);
|
||||||
}
|
}
|
||||||
@@ -158,7 +159,7 @@ namespace BriarQueen.Framework.Managers.Input
|
|||||||
ApplyCursorModeForCurrentScheme();
|
ApplyCursorModeForCurrentScheme();
|
||||||
|
|
||||||
_eventCoordinator.Subscribe<UIToggleHudEvent>(OnHudStateChanged);
|
_eventCoordinator.Subscribe<UIToggleHudEvent>(OnHudStateChanged);
|
||||||
_eventCoordinator.Subscribe<ToggleCodexEvent>(OnCodexStateChanged);
|
_eventCoordinator.Subscribe<UIWindowStateChangedEvent>(OnWindowStateChanged);
|
||||||
_eventCoordinator.Subscribe<ToggleToolScreenEvent>(OnToolScreenStateChanged);
|
_eventCoordinator.Subscribe<ToggleToolScreenEvent>(OnToolScreenStateChanged);
|
||||||
_eventCoordinator.Subscribe<UIStackChangedEvent>(OnUIStackChanged);
|
_eventCoordinator.Subscribe<UIStackChangedEvent>(OnUIStackChanged);
|
||||||
|
|
||||||
@@ -422,9 +423,10 @@ namespace BriarQueen.Framework.Managers.Input
|
|||||||
_hudHidden = !evt.Show;
|
_hudHidden = !evt.Show;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnCodexStateChanged(ToggleCodexEvent evt)
|
private void OnWindowStateChanged(UIWindowStateChangedEvent evt)
|
||||||
{
|
{
|
||||||
_codexShown = evt.Shown;
|
if (evt.WindowType == WindowType.CodexWindow)
|
||||||
|
_codexShown = evt.IsOpen;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnToolScreenStateChanged(ToggleToolScreenEvent evt)
|
private void OnToolScreenStateChanged(ToggleToolScreenEvent evt)
|
||||||
@@ -461,8 +463,8 @@ namespace BriarQueen.Framework.Managers.Input
|
|||||||
{
|
{
|
||||||
if(_gameService.IsMainMenuSceneLoaded)
|
if(_gameService.IsMainMenuSceneLoaded)
|
||||||
return;
|
return;
|
||||||
_codexShown = !_codexShown;
|
|
||||||
_eventCoordinator?.Publish(new ToggleCodexEvent(_codexShown));
|
_eventCoordinator?.Publish(new ToggleCodexEvent(!_codexShown));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnClick(InputAction.CallbackContext ctx)
|
private void OnClick(InputAction.CallbackContext ctx)
|
||||||
|
|||||||
10
Assets/Scripts/Framework/Managers/UI/Base/IUIOverlayHost.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
using Cysharp.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace BriarQueen.Framework.Managers.UI.Base
|
||||||
|
{
|
||||||
|
public interface IUIOverlayHost
|
||||||
|
{
|
||||||
|
UniTask SuspendForOverlay();
|
||||||
|
UniTask ResumeFromOverlay();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4424bf26f2b764c1ca63bc73d75470d6
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
namespace BriarQueen.Framework.Managers.UI.Events
|
||||||
|
{
|
||||||
|
public enum SettingsOpenSource
|
||||||
|
{
|
||||||
|
Unknown,
|
||||||
|
PauseMenu,
|
||||||
|
MainMenu
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ed020edca638d4f1cbdf9b3468316efa
|
||||||
@@ -2,5 +2,5 @@ using BriarQueen.Framework.Events.System;
|
|||||||
|
|
||||||
namespace BriarQueen.Framework.Managers.UI.Events
|
namespace BriarQueen.Framework.Managers.UI.Events
|
||||||
{
|
{
|
||||||
public record UIToggleSettingsWindow(bool Show) : IEvent;
|
public record UIToggleSettingsWindow(bool Show, SettingsOpenSource Source = SettingsOpenSource.Unknown) : IEvent;
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Threading;
|
||||||
using BriarQueen.Data.Identifiers;
|
using BriarQueen.Data.Identifiers;
|
||||||
using BriarQueen.Framework.Coordinators.Events;
|
using BriarQueen.Framework.Coordinators.Events;
|
||||||
using BriarQueen.Framework.Events.UI;
|
using BriarQueen.Framework.Events.UI;
|
||||||
@@ -34,6 +35,7 @@ namespace BriarQueen.Framework.Managers.UI
|
|||||||
|
|
||||||
private readonly Dictionary<WindowType, IUIWindow> _windows = new();
|
private readonly Dictionary<WindowType, IUIWindow> _windows = new();
|
||||||
private readonly Stack<IUIWindow> _windowStack = new();
|
private readonly Stack<IUIWindow> _windowStack = new();
|
||||||
|
private readonly SemaphoreSlim _windowTransitionGate = new(1, 1);
|
||||||
|
|
||||||
private bool _disposed;
|
private bool _disposed;
|
||||||
|
|
||||||
@@ -43,6 +45,8 @@ namespace BriarQueen.Framework.Managers.UI
|
|||||||
private IPopup _infoPopup;
|
private IPopup _infoPopup;
|
||||||
private IPopup _tutorialPopup;
|
private IPopup _tutorialPopup;
|
||||||
private IScreenFader _screenFader;
|
private IScreenFader _screenFader;
|
||||||
|
private IUIOverlayHost _mainMenuOverlayHost;
|
||||||
|
private IUIOverlayHost _activeSettingsOverlayHost;
|
||||||
|
|
||||||
[Inject]
|
[Inject]
|
||||||
public UIManager(
|
public UIManager(
|
||||||
@@ -155,11 +159,33 @@ namespace BriarQueen.Framework.Managers.UI
|
|||||||
_screenFader = screenFader;
|
_screenFader = screenFader;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void RegisterMainMenuOverlayHost(IUIOverlayHost host)
|
||||||
|
{
|
||||||
|
_mainMenuOverlayHost = host;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UnregisterMainMenuOverlayHost(IUIOverlayHost host)
|
||||||
|
{
|
||||||
|
if (!ReferenceEquals(_mainMenuOverlayHost, host))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (ReferenceEquals(_activeSettingsOverlayHost, host))
|
||||||
|
_activeSettingsOverlayHost = null;
|
||||||
|
|
||||||
|
_mainMenuOverlayHost = null;
|
||||||
|
}
|
||||||
|
|
||||||
private IUIWindow GetWindow(WindowType windowType)
|
private IUIWindow GetWindow(WindowType windowType)
|
||||||
{
|
{
|
||||||
return _windows.TryGetValue(windowType, out var window) ? window : null;
|
return _windows.TryGetValue(windowType, out var window) ? window : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool IsWindowOpen(WindowType windowType)
|
||||||
|
{
|
||||||
|
var target = GetWindow(windowType);
|
||||||
|
return target != null && _windowStack.Contains(target);
|
||||||
|
}
|
||||||
|
|
||||||
private async UniTask ApplyHudVisibility(bool visible)
|
private async UniTask ApplyHudVisibility(bool visible)
|
||||||
{
|
{
|
||||||
if (_disposed || _hudContainer == null)
|
if (_disposed || _hudContainer == null)
|
||||||
@@ -197,7 +223,7 @@ namespace BriarQueen.Framework.Managers.UI
|
|||||||
private void ToggleSettingsWindow(UIToggleSettingsWindow eventData)
|
private void ToggleSettingsWindow(UIToggleSettingsWindow eventData)
|
||||||
{
|
{
|
||||||
if (eventData.Show)
|
if (eventData.Show)
|
||||||
OpenWindow(WindowType.SettingsWindow);
|
OpenSettingsWindow(eventData.Source).Forget();
|
||||||
else
|
else
|
||||||
CloseWindow(WindowType.SettingsWindow);
|
CloseWindow(WindowType.SettingsWindow);
|
||||||
}
|
}
|
||||||
@@ -208,9 +234,15 @@ namespace BriarQueen.Framework.Managers.UI
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (eventData.Shown)
|
if (eventData.Shown)
|
||||||
OpenWindow(WindowType.CodexWindow);
|
{
|
||||||
|
if (!IsWindowOpen(WindowType.CodexWindow))
|
||||||
|
OpenWindow(WindowType.CodexWindow);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
CloseWindow(WindowType.CodexWindow);
|
{
|
||||||
|
if (IsWindowOpen(WindowType.CodexWindow))
|
||||||
|
CloseWindow(WindowType.CodexWindow);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnCodexChangedEvent(CodexChangedEvent eventData)
|
private void OnCodexChangedEvent(CodexChangedEvent eventData)
|
||||||
@@ -300,32 +332,94 @@ namespace BriarQueen.Framework.Managers.UI
|
|||||||
OpenWindowInternal(windowType).Forget();
|
OpenWindowInternal(windowType).Forget();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async UniTask OpenSettingsWindow(SettingsOpenSource source)
|
||||||
|
{
|
||||||
|
await _windowTransitionGate.WaitAsync();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (_disposed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
var window = GetWindow(WindowType.SettingsWindow);
|
||||||
|
if (window == null)
|
||||||
|
{
|
||||||
|
Debug.LogError("[UIManager] Window of type SettingsWindow not registered.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_windowStack.Contains(window))
|
||||||
|
return;
|
||||||
|
|
||||||
|
_activeSettingsOverlayHost = null;
|
||||||
|
|
||||||
|
var openingSettingsOverPause =
|
||||||
|
source == SettingsOpenSource.PauseMenu &&
|
||||||
|
ActiveWindow?.WindowType == WindowType.PauseMenuWindow &&
|
||||||
|
ActiveWindow is IUIOverlayHost;
|
||||||
|
|
||||||
|
var openingSettingsOverMainMenu =
|
||||||
|
source == SettingsOpenSource.MainMenu &&
|
||||||
|
_mainMenuOverlayHost != null;
|
||||||
|
|
||||||
|
if (openingSettingsOverPause)
|
||||||
|
{
|
||||||
|
_activeSettingsOverlayHost = (IUIOverlayHost)ActiveWindow;
|
||||||
|
await _activeSettingsOverlayHost.SuspendForOverlay();
|
||||||
|
}
|
||||||
|
else if (openingSettingsOverMainMenu)
|
||||||
|
{
|
||||||
|
_activeSettingsOverlayHost = _mainMenuOverlayHost;
|
||||||
|
await _activeSettingsOverlayHost.SuspendForOverlay();
|
||||||
|
}
|
||||||
|
else if (ActiveWindow != null)
|
||||||
|
{
|
||||||
|
await ActiveWindow.Hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
_windowStack.Push(window);
|
||||||
|
await window.Show();
|
||||||
|
|
||||||
|
NotifyWindowStateChanged(window.WindowType, true);
|
||||||
|
NotifyUIStackChanged();
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
_windowTransitionGate.Release();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private async UniTask OpenWindowInternal(WindowType windowType)
|
private async UniTask OpenWindowInternal(WindowType windowType)
|
||||||
{
|
{
|
||||||
if (_disposed)
|
await _windowTransitionGate.WaitAsync();
|
||||||
return;
|
try
|
||||||
|
|
||||||
var window = GetWindow(windowType);
|
|
||||||
|
|
||||||
if (window == null)
|
|
||||||
{
|
{
|
||||||
Debug.LogError($"[UIManager] Window of type {windowType} not registered.");
|
if (_disposed)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
var window = GetWindow(windowType);
|
||||||
|
|
||||||
|
if (window == null)
|
||||||
|
{
|
||||||
|
Debug.LogError($"[UIManager] Window of type {windowType} not registered.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_windowStack.Contains(window))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (ActiveWindow != null)
|
||||||
|
await ActiveWindow.Hide();
|
||||||
|
|
||||||
|
_windowStack.Push(window);
|
||||||
|
await window.Show();
|
||||||
|
|
||||||
|
NotifyWindowStateChanged(window.WindowType, true);
|
||||||
|
NotifyUIStackChanged();
|
||||||
}
|
}
|
||||||
|
finally
|
||||||
if (ActiveWindow == window)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (ActiveWindow != null)
|
|
||||||
{
|
{
|
||||||
|
_windowTransitionGate.Release();
|
||||||
await ActiveWindow.Hide();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_windowStack.Push(window);
|
|
||||||
await window.Show();
|
|
||||||
|
|
||||||
NotifyUIStackChanged();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CloseWindow(WindowType windowType)
|
public void CloseWindow(WindowType windowType)
|
||||||
@@ -335,27 +429,45 @@ namespace BriarQueen.Framework.Managers.UI
|
|||||||
|
|
||||||
private async UniTask CloseWindowInternal(WindowType windowType)
|
private async UniTask CloseWindowInternal(WindowType windowType)
|
||||||
{
|
{
|
||||||
if (_disposed || _windowStack.Count == 0)
|
await _windowTransitionGate.WaitAsync();
|
||||||
return;
|
try
|
||||||
|
|
||||||
var target = GetWindow(windowType);
|
|
||||||
if (target == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
while (_windowStack.Count > 0)
|
|
||||||
{
|
{
|
||||||
var current = _windowStack.Pop();
|
if (_disposed || _windowStack.Count == 0)
|
||||||
if (current != null)
|
return;
|
||||||
await current.Hide();
|
|
||||||
|
|
||||||
if (current == target)
|
var target = GetWindow(windowType);
|
||||||
break;
|
if (target == null || !_windowStack.Contains(target))
|
||||||
|
return;
|
||||||
|
|
||||||
|
while (_windowStack.Count > 0)
|
||||||
|
{
|
||||||
|
var current = _windowStack.Pop();
|
||||||
|
if (current != null)
|
||||||
|
{
|
||||||
|
await current.Hide();
|
||||||
|
NotifyWindowStateChanged(current.WindowType, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (current == target)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (target.WindowType == WindowType.SettingsWindow && _activeSettingsOverlayHost != null)
|
||||||
|
{
|
||||||
|
await _activeSettingsOverlayHost.ResumeFromOverlay();
|
||||||
|
_activeSettingsOverlayHost = null;
|
||||||
|
}
|
||||||
|
else if (ActiveWindow != null)
|
||||||
|
{
|
||||||
|
await ActiveWindow.Show();
|
||||||
|
}
|
||||||
|
|
||||||
|
NotifyUIStackChanged();
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
_windowTransitionGate.Release();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ActiveWindow != null)
|
|
||||||
await ActiveWindow.Show();
|
|
||||||
|
|
||||||
NotifyUIStackChanged();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CloseTopWindow()
|
public void CloseTopWindow()
|
||||||
@@ -380,18 +492,38 @@ namespace BriarQueen.Framework.Managers.UI
|
|||||||
|
|
||||||
private async UniTask CloseTopWindowInternal()
|
private async UniTask CloseTopWindowInternal()
|
||||||
{
|
{
|
||||||
if (_disposed || _windowStack.Count == 0)
|
await _windowTransitionGate.WaitAsync();
|
||||||
return;
|
try
|
||||||
|
{
|
||||||
|
if (_disposed || _windowStack.Count == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
var top = _windowStack.Pop();
|
var top = _windowStack.Pop();
|
||||||
|
|
||||||
if (top != null)
|
if (top != null)
|
||||||
await top.Hide();
|
{
|
||||||
|
await top.Hide();
|
||||||
|
NotifyWindowStateChanged(top.WindowType, false);
|
||||||
|
}
|
||||||
|
|
||||||
if (ActiveWindow != null)
|
if (top != null &&
|
||||||
await ActiveWindow.Show();
|
top.WindowType == WindowType.SettingsWindow &&
|
||||||
|
_activeSettingsOverlayHost != null)
|
||||||
|
{
|
||||||
|
await _activeSettingsOverlayHost.ResumeFromOverlay();
|
||||||
|
_activeSettingsOverlayHost = null;
|
||||||
|
}
|
||||||
|
else if (ActiveWindow != null)
|
||||||
|
{
|
||||||
|
await ActiveWindow.Show();
|
||||||
|
}
|
||||||
|
|
||||||
NotifyUIStackChanged();
|
NotifyUIStackChanged();
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
_windowTransitionGate.Release();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ResetUIState()
|
public void ResetUIState()
|
||||||
@@ -401,44 +533,71 @@ namespace BriarQueen.Framework.Managers.UI
|
|||||||
|
|
||||||
public async UniTask ResetUIStateAsync()
|
public async UniTask ResetUIStateAsync()
|
||||||
{
|
{
|
||||||
while (_windowStack.Count > 0)
|
await _windowTransitionGate.WaitAsync();
|
||||||
|
try
|
||||||
{
|
{
|
||||||
var window = _windowStack.Pop();
|
var shouldResumeSettingsHost = false;
|
||||||
if (window != null)
|
|
||||||
|
while (_windowStack.Count > 0)
|
||||||
{
|
{
|
||||||
|
var window = _windowStack.Pop();
|
||||||
|
if (window == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (window.WindowType == WindowType.SettingsWindow && _activeSettingsOverlayHost != null)
|
||||||
|
shouldResumeSettingsHost = true;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await window.Hide();
|
await window.Hide();
|
||||||
|
NotifyWindowStateChanged(window.WindowType, false);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (_tutorialPopup != null)
|
if (shouldResumeSettingsHost)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await _activeSettingsOverlayHost.ResumeFromOverlay();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_activeSettingsOverlayHost = null;
|
||||||
|
|
||||||
|
if (_tutorialPopup != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await _tutorialPopup.Hide();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_infoPopup != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await _infoPopup.Hide();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NotifyUIStackChanged();
|
||||||
|
}
|
||||||
|
finally
|
||||||
{
|
{
|
||||||
try
|
_windowTransitionGate.Release();
|
||||||
{
|
|
||||||
await _tutorialPopup.Hide();
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_infoPopup != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
await _infoPopup.Hide();
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
NotifyUIStackChanged();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ResetUIStateHard()
|
private void ResetUIStateHard()
|
||||||
@@ -462,11 +621,18 @@ namespace BriarQueen.Framework.Managers.UI
|
|||||||
faderComponent.gameObject.SetActive(false);
|
faderComponent.gameObject.SetActive(false);
|
||||||
|
|
||||||
_windowStack.Clear();
|
_windowStack.Clear();
|
||||||
|
_activeSettingsOverlayHost = null;
|
||||||
|
_mainMenuOverlayHost = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void NotifyUIStackChanged()
|
private void NotifyUIStackChanged()
|
||||||
{
|
{
|
||||||
_eventCoordinator.Publish(new UIStackChangedEvent(_windowStack.Count > 0));
|
_eventCoordinator.Publish(new UIStackChangedEvent(_windowStack.Count > 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void NotifyWindowStateChanged(WindowType windowType, bool isOpen)
|
||||||
|
{
|
||||||
|
_eventCoordinator.Publish(new UIWindowStateChangedEvent(windowType, isOpen));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ using VContainer;
|
|||||||
|
|
||||||
namespace BriarQueen.Game.Items.HoverZones
|
namespace BriarQueen.Game.Items.HoverZones
|
||||||
{
|
{
|
||||||
public class InteractZone : MonoBehaviour, IInteractable
|
public class TransitionZone : MonoBehaviour, IInteractable
|
||||||
{
|
{
|
||||||
[Header("Level Setup")]
|
[Header("Level Setup")]
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
using BriarQueen.Data.IO.Saves;
|
||||||
|
using BriarQueen.Framework.Events.UI;
|
||||||
|
using BriarQueen.Framework.Managers.Levels.Data;
|
||||||
|
using BriarQueen.Game.Items.HoverZones;
|
||||||
|
using BriarQueen.Game.Puzzles.ChapterOne.AshwickHallow;
|
||||||
|
using Cysharp.Threading.Tasks;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
namespace BriarQueen.Game.Levels.ChapterOne.Ashwick
|
||||||
|
{
|
||||||
|
public class AshwickOutskirts : BaseLevel
|
||||||
|
{
|
||||||
|
[Header("Background")]
|
||||||
|
[SerializeField]
|
||||||
|
private Image _background;
|
||||||
|
[SerializeField]
|
||||||
|
private Sprite _backgroundOpenSprite;
|
||||||
|
|
||||||
|
[Header("Keypad Puzzle")]
|
||||||
|
[SerializeField]
|
||||||
|
private AshwickGate _ashwickGate;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private TransitionZone _keypadZone;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private TransitionZone _nextLevelZone;
|
||||||
|
|
||||||
|
private Sprite _defaultSprite;
|
||||||
|
|
||||||
|
protected async override UniTask PostLoadInternal()
|
||||||
|
{
|
||||||
|
if (SaveManager.GetLevelFlag(LevelFlag.AshwickGateOpen))
|
||||||
|
{
|
||||||
|
_background.sprite = _backgroundOpenSprite;
|
||||||
|
_nextLevelZone.Unlock();
|
||||||
|
await DestructionService.Destroy(_ashwickGate.gameObject);
|
||||||
|
await DestructionService.Destroy(_keypadZone.gameObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async UniTask OpenGate()
|
||||||
|
{
|
||||||
|
EventCoordinator.PublishImmediate(new FadeEvent(false));
|
||||||
|
|
||||||
|
_background.sprite = _backgroundOpenSprite;
|
||||||
|
_nextLevelZone.Unlock();
|
||||||
|
await DestructionService.Destroy(_ashwickGate.gameObject);
|
||||||
|
await DestructionService.Destroy(_keypadZone.gameObject);
|
||||||
|
|
||||||
|
SaveManager.SetLevelFlag(LevelFlag.AshwickGateOpen, true);
|
||||||
|
|
||||||
|
EventCoordinator.PublishImmediate(new FadeEvent(true));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b17e98637f5042b4b70962875c373f5f
|
||||||
|
timeCreated: 1778704389
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
using BriarQueen.Framework.Managers.Levels.Data;
|
||||||
|
using BriarQueen.Framework.Managers.Player.Data;
|
||||||
|
using Cysharp.Threading.Tasks;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace BriarQueen.Game.Puzzles.ChapterOne.AshwickHallow
|
||||||
|
{
|
||||||
|
public class AshwickGate : BaseItem
|
||||||
|
{
|
||||||
|
[SerializeField] private AshwickGateKeypadPuzzle _keypadPuzzle;
|
||||||
|
|
||||||
|
public override string InteractableName => "Iron Gate";
|
||||||
|
|
||||||
|
public override UniTask OnInteract(ItemDataSo item = null)
|
||||||
|
{
|
||||||
|
if (!CheckEmptyHands())
|
||||||
|
return UniTask.CompletedTask;
|
||||||
|
|
||||||
|
_keypadPuzzle?.Open();
|
||||||
|
|
||||||
|
return UniTask.CompletedTask;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b7b31f5b3d0844359def22f68ccea856
|
||||||
|
timeCreated: 1778781649
|
||||||
@@ -0,0 +1,393 @@
|
|||||||
|
using System;
|
||||||
|
using System.Threading;
|
||||||
|
using BriarQueen.Data.Identifiers;
|
||||||
|
using BriarQueen.Data.IO.Saves;
|
||||||
|
using BriarQueen.Framework.Effects;
|
||||||
|
using BriarQueen.Framework.Events.Save;
|
||||||
|
using BriarQueen.Framework.Managers.Interaction;
|
||||||
|
using BriarQueen.Framework.Services.Puzzles.Base;
|
||||||
|
using BriarQueen.Game.Levels.ChapterOne.Ashwick;
|
||||||
|
using Cysharp.Threading.Tasks;
|
||||||
|
using MemoryPack;
|
||||||
|
using PrimeTween;
|
||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Events;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
using VContainer;
|
||||||
|
|
||||||
|
namespace BriarQueen.Game.Puzzles.ChapterOne.AshwickHallow
|
||||||
|
{
|
||||||
|
[MemoryPackable]
|
||||||
|
public partial class AshwickGateKeypadPuzzleState
|
||||||
|
{
|
||||||
|
public string Digits;
|
||||||
|
}
|
||||||
|
|
||||||
|
public class AshwickGateKeypadPuzzle : BasePuzzle, IPuzzleStateful
|
||||||
|
{
|
||||||
|
private const string CorrectCode = "312";
|
||||||
|
private const int RequiredDigits = 3;
|
||||||
|
|
||||||
|
[Header("Scene References")]
|
||||||
|
[SerializeField] private AshwickOutskirts _outskirts;
|
||||||
|
[SerializeField] private CanvasGroup _panelGroup;
|
||||||
|
[SerializeField] private TMP_InputField _displayField;
|
||||||
|
[SerializeField] private UILightGlow _statusGlow;
|
||||||
|
[SerializeField] private GraphicRaycaster _graphicRaycaster;
|
||||||
|
[SerializeField] private Button _closeButton;
|
||||||
|
[SerializeField] private Button[] _digitButtons = new Button[9];
|
||||||
|
|
||||||
|
[Header("Light Colors")]
|
||||||
|
[SerializeField] private Color _incorrectGlowColor = new(0.85f, 0.2f, 0.2f, 1f);
|
||||||
|
[SerializeField] private Color _correctGlowColor = new(0.2f, 0.85f, 0.35f, 1f);
|
||||||
|
|
||||||
|
[Header("Timing")]
|
||||||
|
[SerializeField] private float _feedbackDuration = 0.35f;
|
||||||
|
|
||||||
|
[SerializeField] private TweenSettings _panelFadeTweenSettings = new()
|
||||||
|
{
|
||||||
|
duration = 1.5f,
|
||||||
|
ease = Ease.OutQuad,
|
||||||
|
useUnscaledTime = true
|
||||||
|
};
|
||||||
|
|
||||||
|
private readonly UnityAction[] _digitCallbacks = new UnityAction[9];
|
||||||
|
|
||||||
|
private InteractManager _interactManager;
|
||||||
|
private CancellationTokenSource _panelCts;
|
||||||
|
private Sequence _panelSequence;
|
||||||
|
|
||||||
|
private string _currentDigits = string.Empty;
|
||||||
|
private bool _isCompleted;
|
||||||
|
private bool _isEvaluating;
|
||||||
|
private bool _isOpen;
|
||||||
|
private bool _raycasterRegistered;
|
||||||
|
|
||||||
|
public override string PuzzleID => PuzzleIdentifiers.AllPuzzles[PuzzleKey.AshwickMarketGate];
|
||||||
|
public bool IsCompleted => _isCompleted || SaveManager.GetLevelFlag(LevelFlag.AshwickGateOpen);
|
||||||
|
|
||||||
|
[Inject]
|
||||||
|
public void ConstructKeypad(InteractManager interactManager)
|
||||||
|
{
|
||||||
|
_interactManager = interactManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
if (_displayField != null)
|
||||||
|
{
|
||||||
|
_displayField.readOnly = true;
|
||||||
|
_displayField.text = string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
BindButtons();
|
||||||
|
SetPanelState(0f, false, false);
|
||||||
|
SyncDisplay();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDestroy()
|
||||||
|
{
|
||||||
|
UnbindButtons();
|
||||||
|
TryUnregisterRaycaster();
|
||||||
|
CancelPanelTween();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override UniTask PostLoad()
|
||||||
|
{
|
||||||
|
_isCompleted = SaveManager.GetLevelFlag(LevelFlag.AshwickGateOpen);
|
||||||
|
_isOpen = false;
|
||||||
|
_isEvaluating = false;
|
||||||
|
|
||||||
|
SetPanelState(0f, false, false);
|
||||||
|
SyncDisplay();
|
||||||
|
_statusGlow?.TurnOff().Forget();
|
||||||
|
|
||||||
|
return UniTask.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override UniTask CompletePuzzle()
|
||||||
|
{
|
||||||
|
return CompletePuzzleInternal();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Open()
|
||||||
|
{
|
||||||
|
OpenInternal().Forget();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Close()
|
||||||
|
{
|
||||||
|
CloseInternal(requestSave: true).Forget();
|
||||||
|
}
|
||||||
|
|
||||||
|
public UniTask<byte[]> CaptureState()
|
||||||
|
{
|
||||||
|
var state = new AshwickGateKeypadPuzzleState
|
||||||
|
{
|
||||||
|
Digits = IsCompleted ? string.Empty : _currentDigits
|
||||||
|
};
|
||||||
|
|
||||||
|
return UniTask.FromResult(MemoryPackSerializer.Serialize(state));
|
||||||
|
}
|
||||||
|
|
||||||
|
public UniTask RestoreState(byte[] state)
|
||||||
|
{
|
||||||
|
_isCompleted = SaveManager.GetLevelFlag(LevelFlag.AshwickGateOpen);
|
||||||
|
_currentDigits = string.Empty;
|
||||||
|
|
||||||
|
if (!_isCompleted && state is { Length: > 0 })
|
||||||
|
{
|
||||||
|
var restored = MemoryPackSerializer.Deserialize<AshwickGateKeypadPuzzleState>(state);
|
||||||
|
_currentDigits = restored?.Digits ?? string.Empty;
|
||||||
|
|
||||||
|
if (_currentDigits.Length > RequiredDigits)
|
||||||
|
_currentDigits = _currentDigits[..RequiredDigits];
|
||||||
|
}
|
||||||
|
|
||||||
|
SyncDisplay();
|
||||||
|
return UniTask.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async UniTask CompletePuzzleInternal()
|
||||||
|
{
|
||||||
|
if (IsCompleted || _outskirts == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_isCompleted = true;
|
||||||
|
_currentDigits = string.Empty;
|
||||||
|
SyncDisplay();
|
||||||
|
|
||||||
|
SaveManager.SetPuzzleCompleted(PuzzleKey.AshwickMarketGate, true, requestSave: false);
|
||||||
|
|
||||||
|
await CloseInternal(requestSave: false);
|
||||||
|
await _outskirts.OpenGate();
|
||||||
|
}
|
||||||
|
|
||||||
|
private async UniTaskVoid OpenInternal()
|
||||||
|
{
|
||||||
|
if (IsCompleted || _isEvaluating || _isOpen)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_isOpen = true;
|
||||||
|
ResetPanelTween();
|
||||||
|
|
||||||
|
SetPanelState(0f, false, true);
|
||||||
|
SyncDisplay();
|
||||||
|
TryRegisterRaycaster();
|
||||||
|
_statusGlow?.TurnOff().Forget();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_panelSequence = Sequence.Create(useUnscaledTime: true)
|
||||||
|
.Group(Tween.Alpha(_panelGroup, new TweenSettings<float>
|
||||||
|
{
|
||||||
|
startValue = 0f,
|
||||||
|
endValue = 1f,
|
||||||
|
settings = _panelFadeTweenSettings
|
||||||
|
}));
|
||||||
|
|
||||||
|
await _panelSequence.ToUniTask(cancellationToken: _panelCts.Token);
|
||||||
|
}
|
||||||
|
catch (OperationCanceledException)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
_panelSequence = default;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetPanelState(1f, true, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async UniTask CloseInternal(bool requestSave)
|
||||||
|
{
|
||||||
|
if (!_isOpen)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_isOpen = false;
|
||||||
|
ResetPanelTween();
|
||||||
|
|
||||||
|
if (_panelGroup != null)
|
||||||
|
{
|
||||||
|
_panelGroup.interactable = false;
|
||||||
|
_panelGroup.blocksRaycasts = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_panelSequence = Sequence.Create(useUnscaledTime: true)
|
||||||
|
.Group(Tween.Alpha(_panelGroup, new TweenSettings<float>
|
||||||
|
{
|
||||||
|
startValue = _panelGroup != null ? _panelGroup.alpha : 0f,
|
||||||
|
endValue = 0f,
|
||||||
|
settings = _panelFadeTweenSettings
|
||||||
|
}));
|
||||||
|
|
||||||
|
await _panelSequence.ToUniTask(cancellationToken: _panelCts.Token);
|
||||||
|
}
|
||||||
|
catch (OperationCanceledException)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
_panelSequence = default;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetPanelState(0f, false, false);
|
||||||
|
TryUnregisterRaycaster();
|
||||||
|
|
||||||
|
if (requestSave)
|
||||||
|
EventCoordinator.PublishImmediate(new RequestGameSaveEvent());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDigitPressed(int digit)
|
||||||
|
{
|
||||||
|
if (_isEvaluating || IsCompleted || !_isOpen || _currentDigits.Length >= RequiredDigits)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_currentDigits += digit.ToString();
|
||||||
|
SyncDisplay();
|
||||||
|
|
||||||
|
if (_currentDigits.Length == RequiredDigits)
|
||||||
|
EvaluateCode().Forget();
|
||||||
|
}
|
||||||
|
|
||||||
|
private async UniTaskVoid EvaluateCode()
|
||||||
|
{
|
||||||
|
_isEvaluating = true;
|
||||||
|
|
||||||
|
if (_panelGroup != null)
|
||||||
|
_panelGroup.interactable = false;
|
||||||
|
|
||||||
|
if (_currentDigits == CorrectCode)
|
||||||
|
{
|
||||||
|
if (_statusGlow != null)
|
||||||
|
{
|
||||||
|
_statusGlow.SetLightColor(_correctGlowColor);
|
||||||
|
await _statusGlow.TurnOn();
|
||||||
|
}
|
||||||
|
|
||||||
|
await CompletePuzzleInternal();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (_statusGlow != null)
|
||||||
|
{
|
||||||
|
_statusGlow.SetLightColor(_incorrectGlowColor);
|
||||||
|
await _statusGlow.TurnOn();
|
||||||
|
}
|
||||||
|
|
||||||
|
_currentDigits = string.Empty;
|
||||||
|
SyncDisplay();
|
||||||
|
|
||||||
|
if (_statusGlow != null)
|
||||||
|
await _statusGlow.TurnOff();
|
||||||
|
|
||||||
|
if (_isOpen && _panelGroup != null)
|
||||||
|
_panelGroup.interactable = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
_isEvaluating = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BindButtons()
|
||||||
|
{
|
||||||
|
for (var i = 0; i < _digitButtons.Length; i++)
|
||||||
|
{
|
||||||
|
var button = _digitButtons[i];
|
||||||
|
if (button == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
var digit = i + 1;
|
||||||
|
_digitCallbacks[i] = () => OnDigitPressed(digit);
|
||||||
|
button.onClick.AddListener(_digitCallbacks[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_closeButton != null)
|
||||||
|
_closeButton.onClick.AddListener(Close);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UnbindButtons()
|
||||||
|
{
|
||||||
|
for (var i = 0; i < _digitButtons.Length; i++)
|
||||||
|
{
|
||||||
|
var button = _digitButtons[i];
|
||||||
|
if (button == null || _digitCallbacks[i] == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
button.onClick.RemoveListener(_digitCallbacks[i]);
|
||||||
|
_digitCallbacks[i] = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_closeButton != null)
|
||||||
|
_closeButton.onClick.RemoveListener(Close);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SyncDisplay()
|
||||||
|
{
|
||||||
|
if (_displayField == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_displayField.text = _currentDigits;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetPanelState(float alpha, bool interactable, bool blocksRaycasts)
|
||||||
|
{
|
||||||
|
if (_panelGroup == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_panelGroup.alpha = alpha;
|
||||||
|
_panelGroup.interactable = interactable;
|
||||||
|
_panelGroup.blocksRaycasts = blocksRaycasts;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ResetPanelTween()
|
||||||
|
{
|
||||||
|
CancelPanelTween();
|
||||||
|
_panelCts = new CancellationTokenSource();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CancelPanelTween()
|
||||||
|
{
|
||||||
|
if (_panelSequence.isAlive)
|
||||||
|
_panelSequence.Stop();
|
||||||
|
|
||||||
|
if (_panelCts != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_panelCts.Cancel();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
_panelCts.Dispose();
|
||||||
|
_panelCts = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void TryRegisterRaycaster()
|
||||||
|
{
|
||||||
|
if (_raycasterRegistered || _interactManager == null || _graphicRaycaster == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_interactManager.AddUIRaycaster(_graphicRaycaster);
|
||||||
|
_interactManager.SetExclusiveRaycaster(_graphicRaycaster);
|
||||||
|
_raycasterRegistered = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void TryUnregisterRaycaster()
|
||||||
|
{
|
||||||
|
if (!_raycasterRegistered || _interactManager == null || _graphicRaycaster == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_interactManager.RemoveUIRaycaster(_graphicRaycaster);
|
||||||
|
_interactManager.ClearExclusiveRaycaster();
|
||||||
|
_raycasterRegistered = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 229b8c87b487340b8b0a02349675f70c
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 9afe762158da4f8c8bb8a1bcb98d62b1
|
|
||||||
timeCreated: 1778242706
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
using System.Linq;
|
|
||||||
using BriarQueen.Data.Identifiers;
|
|
||||||
using BriarQueen.Framework.Events.UI;
|
|
||||||
using BriarQueen.Framework.Managers.Levels.Data;
|
|
||||||
using BriarQueen.Framework.Managers.Player.Data;
|
|
||||||
using Cysharp.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace BriarQueen.Game.Puzzles.ChapterOne.AshwickHallow.GatePuzzle
|
|
||||||
{
|
|
||||||
public class AshwickGate : BaseItem
|
|
||||||
{
|
|
||||||
public override UniTask OnInteract(ItemDataSo item = null)
|
|
||||||
{
|
|
||||||
var codex = PlayerManager.GetDiscoveredCodexEntriesByType(CodexType.PuzzleClue);
|
|
||||||
|
|
||||||
if (codex.Any(x => x.UniqueID == CodexEntryIDs.Get(ClueEntryID.AshwickMarketGate)))
|
|
||||||
{
|
|
||||||
EventCoordinator.Publish(new DisplayInteractEvent($"The note said to use the lights."));
|
|
||||||
return UniTask.CompletedTask;
|
|
||||||
}
|
|
||||||
|
|
||||||
EventCoordinator.Publish(new DisplayInteractEvent($"It's locked."));
|
|
||||||
return UniTask.CompletedTask;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 1bc3c6697e5b4c029e807116f930e9a3
|
|
||||||
timeCreated: 1778247353
|
|
||||||
@@ -1,167 +0,0 @@
|
|||||||
using BriarQueen.Data.Identifiers;
|
|
||||||
using BriarQueen.Data.IO.Saves;
|
|
||||||
using BriarQueen.Framework.Effects;
|
|
||||||
using BriarQueen.Framework.Events.Save;
|
|
||||||
using BriarQueen.Framework.Services.Puzzles.Base;
|
|
||||||
using BriarQueen.Game.Items.HoverZones;
|
|
||||||
using Cysharp.Threading.Tasks;
|
|
||||||
using MemoryPack;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace BriarQueen.Game.Puzzles.ChapterOne.AshwickHallow.GatePuzzle
|
|
||||||
{
|
|
||||||
public class AshwickMarketGatePuzzle : BasePuzzle, IPuzzleStateful
|
|
||||||
{
|
|
||||||
[Header("Lights")]
|
|
||||||
[SerializeField]
|
|
||||||
private StreetlightGlow _leftLight;
|
|
||||||
[SerializeField]
|
|
||||||
private StreetlightGlow _rightLight;
|
|
||||||
|
|
||||||
[Header("Solution")]
|
|
||||||
[SerializeField]
|
|
||||||
private StreetlightGlowState _leftLightRequiredState = StreetlightGlowState.Blue;
|
|
||||||
[SerializeField]
|
|
||||||
private StreetlightGlowState _rightLightRequiredState = StreetlightGlowState.Blue;
|
|
||||||
|
|
||||||
[Header("Gate")]
|
|
||||||
[SerializeField]
|
|
||||||
private UIDissolveImage _gateImage;
|
|
||||||
|
|
||||||
[Header("Transition")]
|
|
||||||
[SerializeField]
|
|
||||||
private InteractZone _marketplaceZone;
|
|
||||||
|
|
||||||
private bool _isCompleted;
|
|
||||||
private bool _isCompleting;
|
|
||||||
|
|
||||||
public override string PuzzleID => PuzzleIdentifiers.AllPuzzles[PuzzleKey.AshwickMarketGate];
|
|
||||||
|
|
||||||
public bool IsCompleted => _isCompleted;
|
|
||||||
|
|
||||||
public override UniTask PostLoad()
|
|
||||||
{
|
|
||||||
_leftLight?.Initialize(this);
|
|
||||||
_rightLight?.Initialize(this);
|
|
||||||
|
|
||||||
return UniTask.CompletedTask;
|
|
||||||
}
|
|
||||||
|
|
||||||
public async UniTask EvaluateCompletion()
|
|
||||||
{
|
|
||||||
if (_isCompleted || _isCompleting)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!CheckComplete())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
await CompletePuzzle();
|
|
||||||
}
|
|
||||||
|
|
||||||
public override async UniTask CompletePuzzle()
|
|
||||||
{
|
|
||||||
if (_isCompleted || _isCompleting)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
_isCompleting = true;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
_isCompleted = true;
|
|
||||||
|
|
||||||
_leftLight?.Lock();
|
|
||||||
_rightLight?.Lock();
|
|
||||||
|
|
||||||
_marketplaceZone.gameObject.SetActive(true);
|
|
||||||
|
|
||||||
SaveManager.SetPuzzleCompleted(PuzzleKey.AshwickMarketGate, true, false);
|
|
||||||
SaveManager.SetLevelFlag(LevelFlag.MarketGateOpen, true, false);
|
|
||||||
EventCoordinator.PublishImmediate(new RequestGameSaveEvent());
|
|
||||||
|
|
||||||
if (_gateImage != null)
|
|
||||||
{
|
|
||||||
await _gateImage.DissolveOutAndDestroy();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
_isCompleting = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool CheckComplete()
|
|
||||||
{
|
|
||||||
if (_leftLight == null || _rightLight == null)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return _leftLight.CurrentState == _leftLightRequiredState &&
|
|
||||||
_rightLight.CurrentState == _rightLightRequiredState;
|
|
||||||
}
|
|
||||||
|
|
||||||
public UniTask<byte[]> CaptureState()
|
|
||||||
{
|
|
||||||
var payload = new AshwickMarketGatePuzzleStatePayload
|
|
||||||
{
|
|
||||||
LeftLightState = _leftLight != null ? _leftLight.CurrentState : StreetlightGlowState.Off,
|
|
||||||
RightLightState = _rightLight != null ? _rightLight.CurrentState : StreetlightGlowState.Off,
|
|
||||||
IsCompleted = _isCompleted
|
|
||||||
};
|
|
||||||
|
|
||||||
return UniTask.FromResult(MemoryPackSerializer.Serialize(payload));
|
|
||||||
}
|
|
||||||
|
|
||||||
public async UniTask RestoreState(byte[] state)
|
|
||||||
{
|
|
||||||
var isMarkedComplete = SaveManager.CurrentSave?.PersistentVariables?.Game
|
|
||||||
?.IsPuzzleCompleted(PuzzleKey.AshwickMarketGate) == true;
|
|
||||||
|
|
||||||
var payload = new AshwickMarketGatePuzzleStatePayload
|
|
||||||
{
|
|
||||||
LeftLightState = StreetlightGlowState.Off,
|
|
||||||
RightLightState = StreetlightGlowState.Off,
|
|
||||||
IsCompleted = isMarkedComplete
|
|
||||||
};
|
|
||||||
|
|
||||||
if (state is { Length: > 0 })
|
|
||||||
{
|
|
||||||
payload = MemoryPackSerializer.Deserialize<AshwickMarketGatePuzzleStatePayload>(state);
|
|
||||||
payload.IsCompleted |= isMarkedComplete;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_leftLight != null)
|
|
||||||
{
|
|
||||||
await _leftLight.SetState(payload.LeftLightState, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_rightLight != null)
|
|
||||||
{
|
|
||||||
await _rightLight.SetState(payload.RightLightState, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!payload.IsCompleted)
|
|
||||||
{
|
|
||||||
_isCompleted = false;
|
|
||||||
_leftLight?.Unlock();
|
|
||||||
_rightLight?.Unlock();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
_isCompleted = true;
|
|
||||||
_leftLight?.Lock();
|
|
||||||
_rightLight?.Lock();
|
|
||||||
|
|
||||||
if (_gateImage != null && DestructionService != null)
|
|
||||||
{
|
|
||||||
await DestructionService.Destroy(_gateImage.gameObject);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 701653a82bc1487d8aff6ea83a9abaeb
|
|
||||||
timeCreated: 1778243473
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
using MemoryPack;
|
|
||||||
|
|
||||||
namespace BriarQueen.Game.Puzzles.ChapterOne.AshwickHallow.GatePuzzle
|
|
||||||
{
|
|
||||||
[MemoryPackable]
|
|
||||||
public partial struct AshwickMarketGatePuzzleStatePayload
|
|
||||||
{
|
|
||||||
public StreetlightGlowState LeftLightState;
|
|
||||||
public StreetlightGlowState RightLightState;
|
|
||||||
public bool IsCompleted;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: de15a1ddef77473cb145cd59500cde71
|
|
||||||
@@ -1,181 +0,0 @@
|
|||||||
using BriarQueen.Data.Identifiers;
|
|
||||||
using BriarQueen.Framework.Effects;
|
|
||||||
using BriarQueen.Framework.Events.UI;
|
|
||||||
using BriarQueen.Framework.Managers.Levels.Data;
|
|
||||||
using BriarQueen.Framework.Managers.Player.Data;
|
|
||||||
using BriarQueen.Framework.Managers.UI;
|
|
||||||
using Cysharp.Threading.Tasks;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace BriarQueen.Game.Puzzles.ChapterOne.AshwickHallow.GatePuzzle
|
|
||||||
{
|
|
||||||
public enum StreetlightGlowState
|
|
||||||
{
|
|
||||||
Off = 0,
|
|
||||||
Red = 1,
|
|
||||||
Orange = 2,
|
|
||||||
Green = 3,
|
|
||||||
Blue = 4
|
|
||||||
}
|
|
||||||
|
|
||||||
public class StreetlightGlow : BaseItem
|
|
||||||
{
|
|
||||||
[Header("Puzzle")]
|
|
||||||
[SerializeField]
|
|
||||||
private AshwickMarketGatePuzzle _puzzle;
|
|
||||||
|
|
||||||
[Header("Light")]
|
|
||||||
[SerializeField]
|
|
||||||
private UILightGlow _light;
|
|
||||||
|
|
||||||
[SerializeField]
|
|
||||||
private float _changeDuration = 0.25f;
|
|
||||||
|
|
||||||
[SerializeField]
|
|
||||||
private float _activeIntensity = 1.5f;
|
|
||||||
|
|
||||||
[Header("Colours")]
|
|
||||||
[SerializeField]
|
|
||||||
private Color _red = new(0.872f, 0.08f, 0.1704798f, 1f);
|
|
||||||
|
|
||||||
[SerializeField]
|
|
||||||
private Color _orange = new(0.8666667f, 0.5109999f, 0f, 1f);
|
|
||||||
|
|
||||||
[SerializeField]
|
|
||||||
private Color _green = new(0.12f, 0.865f, 0.1f, 1f);
|
|
||||||
|
|
||||||
[SerializeField]
|
|
||||||
private Color _blue = new(0.1490196f, 0.6001954f, 1f, 1f);
|
|
||||||
|
|
||||||
private bool _isChanging;
|
|
||||||
private StreetlightGlowState _currentState = StreetlightGlowState.Off;
|
|
||||||
|
|
||||||
public StreetlightGlowState CurrentState => _currentState;
|
|
||||||
|
|
||||||
public override string InteractableName
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (_isLocked)
|
|
||||||
{
|
|
||||||
return string.Empty;
|
|
||||||
}
|
|
||||||
|
|
||||||
return _currentState == StreetlightGlowState.Off
|
|
||||||
? "Turn On"
|
|
||||||
: "Switch Colour";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public override UICursorService.CursorStyle ApplicableCursorStyle => UICursorService.CursorStyle.Interact;
|
|
||||||
|
|
||||||
public void Initialize(AshwickMarketGatePuzzle puzzle)
|
|
||||||
{
|
|
||||||
if (_puzzle == null)
|
|
||||||
{
|
|
||||||
_puzzle = puzzle;
|
|
||||||
}
|
|
||||||
|
|
||||||
SetState(_currentState, false).Forget();
|
|
||||||
}
|
|
||||||
|
|
||||||
public override async UniTask OnInteract(ItemDataSo item = null)
|
|
||||||
{
|
|
||||||
if (item != null)
|
|
||||||
{
|
|
||||||
EventCoordinator.Publish(new DisplayInteractEvent(InteractEventIDs.Get(ItemInteractKey.CantUseItem)));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_isLocked || _isChanging)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!CheckEmptyHands())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
await CycleNext();
|
|
||||||
|
|
||||||
if (_puzzle != null)
|
|
||||||
{
|
|
||||||
await _puzzle.EvaluateCompletion();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public async UniTask SetState(StreetlightGlowState state, bool animate)
|
|
||||||
{
|
|
||||||
_currentState = state;
|
|
||||||
|
|
||||||
if (_light == null)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var targetColor = GetColorForState(state);
|
|
||||||
var targetIntensity = state == StreetlightGlowState.Off ? 0f : _activeIntensity;
|
|
||||||
|
|
||||||
if (!animate)
|
|
||||||
{
|
|
||||||
_light.SetLightColor(targetColor);
|
|
||||||
_light.SetIntensity(targetIntensity);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
_isChanging = true;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
await _light.TweenTo(targetColor, targetIntensity, _changeDuration);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
_isChanging = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Lock()
|
|
||||||
{
|
|
||||||
_isLocked = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Unlock()
|
|
||||||
{
|
|
||||||
_isLocked = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Color GetCurrentColor()
|
|
||||||
{
|
|
||||||
return GetColorForState(_currentState);
|
|
||||||
}
|
|
||||||
|
|
||||||
private UniTask CycleNext()
|
|
||||||
{
|
|
||||||
var nextState = _currentState switch
|
|
||||||
{
|
|
||||||
StreetlightGlowState.Off => StreetlightGlowState.Red,
|
|
||||||
StreetlightGlowState.Red => StreetlightGlowState.Green,
|
|
||||||
StreetlightGlowState.Green => StreetlightGlowState.Orange,
|
|
||||||
StreetlightGlowState.Orange => StreetlightGlowState.Blue,
|
|
||||||
StreetlightGlowState.Blue => StreetlightGlowState.Off,
|
|
||||||
_ => StreetlightGlowState.Off
|
|
||||||
};
|
|
||||||
|
|
||||||
return SetState(nextState, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
private Color GetColorForState(StreetlightGlowState state)
|
|
||||||
{
|
|
||||||
return state switch
|
|
||||||
{
|
|
||||||
StreetlightGlowState.Red => _red,
|
|
||||||
StreetlightGlowState.Orange => _orange,
|
|
||||||
StreetlightGlowState.Green => _green,
|
|
||||||
StreetlightGlowState.Blue => _blue,
|
|
||||||
_ => Color.black
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 74c68ae5d328428f87e9fb87424df340
|
|
||||||
timeCreated: 1778242706
|
|
||||||
@@ -341,12 +341,10 @@ namespace BriarQueen.UI.Codex
|
|||||||
|
|
||||||
if (_canvasGroup != null)
|
if (_canvasGroup != null)
|
||||||
{
|
{
|
||||||
_canvasGroup.blocksRaycasts = false;
|
_canvasGroup.blocksRaycasts = true;
|
||||||
_canvasGroup.interactable = false;
|
_canvasGroup.interactable = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
TryUnregisterRaycaster();
|
|
||||||
|
|
||||||
_windowSequence = Sequence.Create(useUnscaledTime: true)
|
_windowSequence = Sequence.Create(useUnscaledTime: true)
|
||||||
.Group(Tween.Alpha(_backgroundGroup, new TweenSettings<float>
|
.Group(Tween.Alpha(_backgroundGroup, new TweenSettings<float>
|
||||||
{
|
{
|
||||||
@@ -375,6 +373,7 @@ namespace BriarQueen.UI.Codex
|
|||||||
_canvasGroup.interactable = false;
|
_canvasGroup.interactable = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TryUnregisterRaycaster();
|
||||||
gameObject.SetActive(false);
|
gameObject.SetActive(false);
|
||||||
Debug.Log($"[CodexWindow] Codex Window Hide Complete.");
|
Debug.Log($"[CodexWindow] Codex Window Hide Complete.");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ using BriarQueen.Framework.Coordinators.Events;
|
|||||||
using BriarQueen.Framework.Effects;
|
using BriarQueen.Framework.Effects;
|
||||||
using BriarQueen.Framework.Events.UI;
|
using BriarQueen.Framework.Events.UI;
|
||||||
using BriarQueen.Framework.Managers.Input;
|
using BriarQueen.Framework.Managers.Input;
|
||||||
|
using BriarQueen.Framework.Managers.UI;
|
||||||
|
using BriarQueen.Framework.Managers.UI.Base;
|
||||||
using BriarQueen.Framework.Managers.UI.Events;
|
using BriarQueen.Framework.Managers.UI.Events;
|
||||||
using BriarQueen.Framework.Services.Game;
|
using BriarQueen.Framework.Services.Game;
|
||||||
using BriarQueen.Game.Effects;
|
using BriarQueen.Game.Effects;
|
||||||
@@ -19,7 +21,7 @@ using VContainer;
|
|||||||
|
|
||||||
namespace BriarQueen.UI.Menus
|
namespace BriarQueen.UI.Menus
|
||||||
{
|
{
|
||||||
public class MainMenuWindow : MonoBehaviour
|
public class MainMenuWindow : MonoBehaviour, IUIOverlayHost
|
||||||
{
|
{
|
||||||
[Header("Intro Screen")]
|
[Header("Intro Screen")]
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
@@ -38,9 +40,9 @@ namespace BriarQueen.UI.Menus
|
|||||||
[FormerlySerializedAs("_mainMenuWindowCanvasGroup")]
|
[FormerlySerializedAs("_mainMenuWindowCanvasGroup")]
|
||||||
private CanvasGroup _mainMenuGroup;
|
private CanvasGroup _mainMenuGroup;
|
||||||
|
|
||||||
[Header("Buttons")]
|
[Header("Display")]
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private CanvasGroup _buttonsGroup;
|
private CanvasGroup _displayGroup;
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private AnimatedSelectionButtonGroup _mainMenuSelectionGroup;
|
private AnimatedSelectionButtonGroup _mainMenuSelectionGroup;
|
||||||
@@ -93,6 +95,14 @@ namespace BriarQueen.UI.Menus
|
|||||||
useUnscaledTime = true
|
useUnscaledTime = true
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private TweenSettings _settingsOverlayTweenSettings = new()
|
||||||
|
{
|
||||||
|
duration = 0.25f,
|
||||||
|
ease = Ease.OutQuad,
|
||||||
|
useUnscaledTime = true
|
||||||
|
};
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private TweenSettings _pressStartPulseTweenSettings = new()
|
private TweenSettings _pressStartPulseTweenSettings = new()
|
||||||
{
|
{
|
||||||
@@ -106,23 +116,31 @@ namespace BriarQueen.UI.Menus
|
|||||||
private float _pressStartPulseMinimumAlpha = 0.25f;
|
private float _pressStartPulseMinimumAlpha = 0.25f;
|
||||||
|
|
||||||
private CancellationTokenSource _introCts;
|
private CancellationTokenSource _introCts;
|
||||||
|
private CancellationTokenSource _settingsOverlayCts;
|
||||||
private CancellationTokenSource _selectSaveCts;
|
private CancellationTokenSource _selectSaveCts;
|
||||||
private EventCoordinator _eventCoordinator;
|
private EventCoordinator _eventCoordinator;
|
||||||
private GameService _gameService;
|
private GameService _gameService;
|
||||||
private InputManager _inputManager;
|
private InputManager _inputManager;
|
||||||
|
private UIManager _uiManager;
|
||||||
private Sequence _pressStartFadeSequence;
|
private Sequence _pressStartFadeSequence;
|
||||||
private Sequence _pressStartPulseSequence;
|
private Sequence _pressStartPulseSequence;
|
||||||
|
private Sequence _settingsOverlaySequence;
|
||||||
private Sequence _selectSaveSequence;
|
private Sequence _selectSaveSequence;
|
||||||
|
|
||||||
private bool _introFinished;
|
private bool _introFinished;
|
||||||
private bool _introTransitioning;
|
private bool _introTransitioning;
|
||||||
|
|
||||||
[Inject]
|
[Inject]
|
||||||
public void Construct(GameService gameService, EventCoordinator eventCoordinator, InputManager inputManager)
|
public void Construct(
|
||||||
|
GameService gameService,
|
||||||
|
EventCoordinator eventCoordinator,
|
||||||
|
InputManager inputManager,
|
||||||
|
UIManager uiManager)
|
||||||
{
|
{
|
||||||
_gameService = gameService;
|
_gameService = gameService;
|
||||||
_eventCoordinator = eventCoordinator;
|
_eventCoordinator = eventCoordinator;
|
||||||
_inputManager = inputManager;
|
_inputManager = inputManager;
|
||||||
|
_uiManager = uiManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
@@ -139,6 +157,7 @@ namespace BriarQueen.UI.Menus
|
|||||||
private void OnEnable()
|
private void OnEnable()
|
||||||
{
|
{
|
||||||
BindButtons();
|
BindButtons();
|
||||||
|
_uiManager?.RegisterMainMenuOverlayHost(this);
|
||||||
|
|
||||||
_eventCoordinator?.PublishImmediate(new UIToggleHudEvent(false));
|
_eventCoordinator?.PublishImmediate(new UIToggleHudEvent(false));
|
||||||
_inputManager?.BindSubmitForStart(OnIntroSubmit);
|
_inputManager?.BindSubmitForStart(OnIntroSubmit);
|
||||||
@@ -164,22 +183,27 @@ namespace BriarQueen.UI.Menus
|
|||||||
private void OnDisable()
|
private void OnDisable()
|
||||||
{
|
{
|
||||||
UnbindButtons();
|
UnbindButtons();
|
||||||
|
_uiManager?.UnregisterMainMenuOverlayHost(this);
|
||||||
|
|
||||||
_inputManager?.ResetSubmitBind(OnIntroSubmit);
|
_inputManager?.ResetSubmitBind(OnIntroSubmit);
|
||||||
_eventCoordinator?.Unsubscribe<UIBackRequestedEvent>(OnBackRequested);
|
_eventCoordinator?.Unsubscribe<UIBackRequestedEvent>(OnBackRequested);
|
||||||
|
|
||||||
StopIntroTweens();
|
StopIntroTweens();
|
||||||
|
StopSettingsOverlayTween();
|
||||||
StopSelectSaveTween();
|
StopSelectSaveTween();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDestroy()
|
private void OnDestroy()
|
||||||
{
|
{
|
||||||
|
_uiManager?.UnregisterMainMenuOverlayHost(this);
|
||||||
|
|
||||||
if (_selectSaveWindow != null)
|
if (_selectSaveWindow != null)
|
||||||
{
|
{
|
||||||
_selectSaveWindow.OnCloseWindow -= CloseSelectSaveWindow;
|
_selectSaveWindow.OnCloseWindow -= CloseSelectSaveWindow;
|
||||||
}
|
}
|
||||||
|
|
||||||
StopIntroTweens();
|
StopIntroTweens();
|
||||||
|
StopSettingsOverlayTween();
|
||||||
StopSelectSaveTween();
|
StopSelectSaveTween();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -386,7 +410,7 @@ namespace BriarQueen.UI.Menus
|
|||||||
|
|
||||||
private void OnSettingsClicked()
|
private void OnSettingsClicked()
|
||||||
{
|
{
|
||||||
_eventCoordinator?.PublishImmediate(new UIToggleSettingsWindow(true));
|
_eventCoordinator?.PublishImmediate(new UIToggleSettingsWindow(true, SettingsOpenSource.MainMenu));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnQuitClicked()
|
private void OnQuitClicked()
|
||||||
@@ -432,9 +456,9 @@ namespace BriarQueen.UI.Menus
|
|||||||
endValue = 1f,
|
endValue = 1f,
|
||||||
settings = _selectSaveTweenSettings
|
settings = _selectSaveTweenSettings
|
||||||
}))
|
}))
|
||||||
.Group(Tween.Alpha(_buttonsGroup, new TweenSettings<float>
|
.Group(Tween.Alpha(_displayGroup, new TweenSettings<float>
|
||||||
{
|
{
|
||||||
startValue = _buttonsGroup.alpha,
|
startValue = _displayGroup.alpha,
|
||||||
endValue = 0f,
|
endValue = 0f,
|
||||||
settings = _selectSaveTweenSettings
|
settings = _selectSaveTweenSettings
|
||||||
}));
|
}));
|
||||||
@@ -483,9 +507,9 @@ namespace BriarQueen.UI.Menus
|
|||||||
endValue = 0f,
|
endValue = 0f,
|
||||||
settings = _selectSaveTweenSettings
|
settings = _selectSaveTweenSettings
|
||||||
}))
|
}))
|
||||||
.Group(Tween.Alpha(_buttonsGroup, new TweenSettings<float>
|
.Group(Tween.Alpha(_displayGroup, new TweenSettings<float>
|
||||||
{
|
{
|
||||||
startValue = _buttonsGroup.alpha,
|
startValue = _displayGroup.alpha,
|
||||||
endValue = 1f,
|
endValue = 1f,
|
||||||
settings = _selectSaveTweenSettings
|
settings = _selectSaveTweenSettings
|
||||||
}));
|
}));
|
||||||
@@ -544,6 +568,19 @@ namespace BriarQueen.UI.Menus
|
|||||||
CancelAndDispose(ref _selectSaveCts);
|
CancelAndDispose(ref _selectSaveCts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ResetSettingsOverlayCtsAndCancelRunning()
|
||||||
|
{
|
||||||
|
StopSequence(ref _settingsOverlaySequence);
|
||||||
|
CancelAndDispose(ref _settingsOverlayCts);
|
||||||
|
_settingsOverlayCts = new CancellationTokenSource();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StopSettingsOverlayTween()
|
||||||
|
{
|
||||||
|
StopSequence(ref _settingsOverlaySequence);
|
||||||
|
CancelAndDispose(ref _settingsOverlayCts);
|
||||||
|
}
|
||||||
|
|
||||||
private static void StopSequence(ref Sequence sequence)
|
private static void StopSequence(ref Sequence sequence)
|
||||||
{
|
{
|
||||||
if (sequence.isAlive)
|
if (sequence.isAlive)
|
||||||
@@ -597,5 +634,67 @@ namespace BriarQueen.UI.Menus
|
|||||||
group.interactable = inputEnabled;
|
group.interactable = inputEnabled;
|
||||||
group.blocksRaycasts = inputEnabled;
|
group.blocksRaycasts = inputEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async UniTask SuspendForOverlay()
|
||||||
|
{
|
||||||
|
if (_mainMenuGroup == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
ResetSettingsOverlayCtsAndCancelRunning();
|
||||||
|
SetCanvasGroupInteractivity(_mainMenuGroup, false);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_settingsOverlaySequence = Sequence.Create(useUnscaledTime: true)
|
||||||
|
.Group(Tween.Alpha(_displayGroup, new TweenSettings<float>
|
||||||
|
{
|
||||||
|
startValue = _displayGroup.alpha,
|
||||||
|
endValue = 0f,
|
||||||
|
settings = _settingsOverlayTweenSettings
|
||||||
|
}));
|
||||||
|
|
||||||
|
await _settingsOverlaySequence.ToUniTask(cancellationToken: _settingsOverlayCts.Token);
|
||||||
|
}
|
||||||
|
catch (OperationCanceledException)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
_settingsOverlaySequence = default;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async UniTask ResumeFromOverlay()
|
||||||
|
{
|
||||||
|
if (_mainMenuGroup == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
ResetSettingsOverlayCtsAndCancelRunning();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_settingsOverlaySequence = Sequence.Create(useUnscaledTime: true)
|
||||||
|
.Group(Tween.Alpha(_displayGroup, new TweenSettings<float>
|
||||||
|
{
|
||||||
|
startValue = _displayGroup.alpha,
|
||||||
|
endValue = 1f,
|
||||||
|
settings = _settingsOverlayTweenSettings
|
||||||
|
}));
|
||||||
|
|
||||||
|
await _settingsOverlaySequence.ToUniTask(cancellationToken: _settingsOverlayCts.Token);
|
||||||
|
}
|
||||||
|
catch (OperationCanceledException)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
_settingsOverlaySequence = default;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetCanvasGroupInteractivity(_mainMenuGroup, true);
|
||||||
|
_mainMenuSelectionGroup?.SelectIndex(1, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -20,7 +20,7 @@ using VContainer;
|
|||||||
|
|
||||||
namespace BriarQueen.UI.Menus
|
namespace BriarQueen.UI.Menus
|
||||||
{
|
{
|
||||||
public class PauseMenuWindow : MonoBehaviour, IUIWindow
|
public class PauseMenuWindow : MonoBehaviour, IUIWindow, IUIOverlayHost
|
||||||
{
|
{
|
||||||
[Header("Root UI")]
|
[Header("Root UI")]
|
||||||
[SerializeField] private CanvasGroup _canvasGroup;
|
[SerializeField] private CanvasGroup _canvasGroup;
|
||||||
@@ -186,12 +186,9 @@ namespace BriarQueen.UI.Menus
|
|||||||
{
|
{
|
||||||
StopAndResetCancellation();
|
StopAndResetCancellation();
|
||||||
|
|
||||||
_canvasGroup.blocksRaycasts = false;
|
_canvasGroup.blocksRaycasts = true;
|
||||||
_canvasGroup.interactable = false;
|
_canvasGroup.interactable = false;
|
||||||
|
|
||||||
|
|
||||||
TryUnregisterRaycaster();
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await FadeGroup(_buttonsGroup, 0f, _buttonFadeSettings, _cts.Token);
|
await FadeGroup(_buttonsGroup, 0f, _buttonFadeSettings, _cts.Token);
|
||||||
@@ -212,9 +209,46 @@ namespace BriarQueen.UI.Menus
|
|||||||
_canvasGroup.blocksRaycasts = false;
|
_canvasGroup.blocksRaycasts = false;
|
||||||
_canvasGroup.interactable = false;
|
_canvasGroup.interactable = false;
|
||||||
|
|
||||||
|
TryUnregisterRaycaster();
|
||||||
gameObject.SetActive(false);
|
gameObject.SetActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async UniTask SuspendForOverlay()
|
||||||
|
{
|
||||||
|
StopAndResetCancellation();
|
||||||
|
|
||||||
|
_buttonsGroup.blocksRaycasts = false;
|
||||||
|
_buttonsGroup.interactable = false;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await FadeGroup(_buttonsGroup, 0f, _buttonFadeSettings, _cts.Token);
|
||||||
|
}
|
||||||
|
catch (OperationCanceledException)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async UniTask ResumeFromOverlay()
|
||||||
|
{
|
||||||
|
StopAndResetCancellation();
|
||||||
|
|
||||||
|
_buttonsGroup.blocksRaycasts = true;
|
||||||
|
_buttonsGroup.interactable = true;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await FadeGroup(_buttonsGroup, 1f, _buttonFadeSettings, _cts.Token);
|
||||||
|
}
|
||||||
|
catch (OperationCanceledException)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
SelectDefault();
|
||||||
|
}
|
||||||
|
|
||||||
// ── DI ────────────────────────────────────────────────────────
|
// ── DI ────────────────────────────────────────────────────────
|
||||||
|
|
||||||
[Inject]
|
[Inject]
|
||||||
@@ -299,7 +333,7 @@ namespace BriarQueen.UI.Menus
|
|||||||
|
|
||||||
private void OnSettingsClicked(UnderlineButton _)
|
private void OnSettingsClicked(UnderlineButton _)
|
||||||
{
|
{
|
||||||
_eventCoordinator?.Publish(new UIToggleSettingsWindow(true));
|
_eventCoordinator?.Publish(new UIToggleSettingsWindow(true, SettingsOpenSource.PauseMenu));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnExitClicked(UnderlineButton _)
|
private void OnExitClicked(UnderlineButton _)
|
||||||
|
|||||||
@@ -306,11 +306,9 @@ namespace BriarQueen.UI.Menus
|
|||||||
StopAndResetCancellation();
|
StopAndResetCancellation();
|
||||||
_confirmUnappliedChangesWindow?.CloseImmediate();
|
_confirmUnappliedChangesWindow?.CloseImmediate();
|
||||||
|
|
||||||
_canvasGroup.blocksRaycasts = false;
|
_canvasGroup.blocksRaycasts = true;
|
||||||
_canvasGroup.interactable = false;
|
_canvasGroup.interactable = false;
|
||||||
|
|
||||||
TryUnregisterRaycaster();
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// Step 1: fade out active panel
|
// Step 1: fade out active panel
|
||||||
@@ -345,6 +343,10 @@ namespace BriarQueen.UI.Menus
|
|||||||
_panelSequence = default;
|
_panelSequence = default;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_canvasGroup.blocksRaycasts = false;
|
||||||
|
_canvasGroup.interactable = false;
|
||||||
|
|
||||||
|
TryUnregisterRaycaster();
|
||||||
gameObject.SetActive(false);
|
gameObject.SetActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -916,6 +918,7 @@ namespace BriarQueen.UI.Menus
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
_interactManager.AddUIRaycaster(_graphicRaycaster);
|
_interactManager.AddUIRaycaster(_graphicRaycaster);
|
||||||
|
_interactManager.SetExclusiveRaycaster(_graphicRaycaster);
|
||||||
_raycasterRegistered = true;
|
_raycasterRegistered = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -928,6 +931,7 @@ namespace BriarQueen.UI.Menus
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
_interactManager.RemoveUIRaycaster(_graphicRaycaster);
|
_interactManager.RemoveUIRaycaster(_graphicRaycaster);
|
||||||
|
_interactManager.ClearExclusiveRaycaster();
|
||||||
_raycasterRegistered = false;
|
_raycasterRegistered = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ MonoBehaviour:
|
|||||||
m_StripUnusedVariants: 1
|
m_StripUnusedVariants: 1
|
||||||
m_StripScreenCoordOverrideVariants: 1
|
m_StripScreenCoordOverrideVariants: 1
|
||||||
supportRuntimeDebugDisplay: 0
|
supportRuntimeDebugDisplay: 0
|
||||||
m_EnableRenderGraph: 0
|
|
||||||
m_Settings:
|
m_Settings:
|
||||||
m_SettingsList:
|
m_SettingsList:
|
||||||
m_List:
|
m_List:
|
||||||
@@ -67,6 +66,7 @@ MonoBehaviour:
|
|||||||
- rid: 4221397444798185483
|
- rid: 4221397444798185483
|
||||||
- rid: 263345485245579335
|
- rid: 263345485245579335
|
||||||
- rid: 263345485245579336
|
- rid: 263345485245579336
|
||||||
|
- rid: 4945117630457970688
|
||||||
m_RuntimeSettings:
|
m_RuntimeSettings:
|
||||||
m_List: []
|
m_List: []
|
||||||
m_AssetVersion: 10
|
m_AssetVersion: 10
|
||||||
@@ -267,6 +267,17 @@ MonoBehaviour:
|
|||||||
data:
|
data:
|
||||||
m_Version: 1
|
m_Version: 1
|
||||||
m_UseBicubicLightmapSampling: 0
|
m_UseBicubicLightmapSampling: 0
|
||||||
|
- rid: 4945117630457970688
|
||||||
|
type: {class: WorldRenderPipelineResources, ns: UnityEngine.PathTracing.Core, asm: Unity.PathTracing.Runtime}
|
||||||
|
data:
|
||||||
|
_version: 3
|
||||||
|
_blitCubemap: {fileID: 7200000, guid: 5a992812cb320d146a66cc600200cce7, type: 3}
|
||||||
|
_blitGrayScaleCookie: {fileID: 7200000, guid: 557fa399e33bf7647bda5697c5c158df, type: 3}
|
||||||
|
_setAlphaChannelShader: {fileID: 7200000, guid: 5efaea0e81c66334aa9d062d6573e6fd, type: 3}
|
||||||
|
_environmentImportanceSamplingBuild: {fileID: 7200000, guid: 5bb2534d2411d344cbc54f880232640f, type: 3}
|
||||||
|
_skyBoxMesh: {fileID: 4300000, guid: 0529e6c5f6dea8c4a8c2835ed7de57cb, type: 2}
|
||||||
|
_sixFaceSkyBoxMesh: {fileID: 4300000, guid: a80925ceebd011741b42509226cefc74, type: 2}
|
||||||
|
_buildLightGridShader: {fileID: 7200000, guid: 16e47c1641bd0104e92b624601457bb0, type: 3}
|
||||||
- rid: 6852985685364965376
|
- rid: 6852985685364965376
|
||||||
type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
data:
|
data:
|
||||||
@@ -351,7 +362,6 @@ MonoBehaviour:
|
|||||||
type: {class: RenderGraphSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
type: {class: RenderGraphSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
data:
|
data:
|
||||||
m_Version: 0
|
m_Version: 0
|
||||||
m_EnableRenderCompatibilityMode: 0
|
|
||||||
- rid: 6852985685364965386
|
- rid: 6852985685364965386
|
||||||
type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime}
|
type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime}
|
||||||
data:
|
data:
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"com.unity.addressables": "2.9.1",
|
"com.unity.addressables": "2.9.1",
|
||||||
"com.unity.ide.rider": "3.0.39",
|
"com.unity.ide.rider": "3.0.39",
|
||||||
"com.unity.inputsystem": "1.19.0",
|
"com.unity.inputsystem": "1.19.0",
|
||||||
"com.unity.render-pipelines.universal": "17.3.0",
|
"com.unity.render-pipelines.universal": "17.4.0",
|
||||||
"com.unity.ugui": "2.0.0",
|
"com.unity.ugui": "2.0.0",
|
||||||
"jp.hadashikick.vcontainer": "https://github.com/hadashiA/VContainer.git?path=VContainer/Assets/VContainer",
|
"jp.hadashikick.vcontainer": "https://github.com/hadashiA/VContainer.git?path=VContainer/Assets/VContainer",
|
||||||
"com.unity.modules.accessibility": "1.0.0",
|
"com.unity.modules.accessibility": "1.0.0",
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.burst": {
|
"com.unity.burst": {
|
||||||
"version": "1.8.28",
|
"version": "1.8.29",
|
||||||
"depth": 2,
|
"depth": 2,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -54,14 +54,14 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.collections": {
|
"com.unity.collections": {
|
||||||
"version": "2.6.2",
|
"version": "2.6.5",
|
||||||
"depth": 2,
|
"depth": 2,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.burst": "1.8.23",
|
"com.unity.burst": "1.8.27",
|
||||||
"com.unity.mathematics": "1.3.2",
|
"com.unity.mathematics": "1.3.2",
|
||||||
"com.unity.test-framework": "1.4.6",
|
"com.unity.test-framework": "1.4.6",
|
||||||
"com.unity.nuget.mono-cecil": "1.11.5",
|
"com.unity.nuget.mono-cecil": "1.11.6",
|
||||||
"com.unity.test-framework.performance": "3.0.3"
|
"com.unity.test-framework.performance": "3.0.3"
|
||||||
},
|
},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
@@ -180,7 +180,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.unity.test-framework.performance": {
|
"com.unity.test-framework.performance": {
|
||||||
"version": "3.2.0",
|
"version": "3.4.0",
|
||||||
"depth": 3,
|
"depth": 3,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
m_EditorVersion: 6000.3.11f1
|
m_EditorVersion: 6000.3.15f1
|
||||||
m_EditorVersionWithRevision: 6000.3.11f1 (3000ef702840)
|
m_EditorVersionWithRevision: 6000.3.15f1 (c1aa84e375f6)
|
||||||
|
|||||||