Compare commits
16 Commits
d2e79f058b
...
hud_unific
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6f515e954d | ||
|
|
e9855faede | ||
|
|
0c9a388433 | ||
|
|
a80aed8eb7 | ||
|
|
5d0a9f999a | ||
|
|
eda7361702 | ||
|
|
2ec53629c6 | ||
|
|
0e55248698 | ||
|
|
4d7c48a681 | ||
|
|
6e466cd7aa | ||
| 29d01df3ce | |||
| de0a243b1e | |||
| fdfa4e0e09 | |||
|
|
2127bf37b2 | ||
| ea12766cf7 | |||
| 41c71f07fd |
@@ -15,7 +15,7 @@ MonoBehaviour:
|
||||
m_DefaultGroup: 6f3207429a65b3e4b83935ac19791077
|
||||
m_currentHash:
|
||||
serializedVersion: 2
|
||||
Hash: f08b6489862aaf7bfceb29f571e2ef6c
|
||||
Hash: 589e22fe6cd2fe0e25d89bd44a35bcbc
|
||||
m_OptimizeCatalogSize: 0
|
||||
m_BuildRemoteCatalog: 0
|
||||
m_CatalogRequestsTimeout: 0
|
||||
|
||||
@@ -18,13 +18,10 @@ MonoBehaviour:
|
||||
- {fileID: 458265635552197097, guid: a77d1e8b2fa8aa945a6f39b312536e0d, type: 3}
|
||||
- {fileID: 552225285624929822, guid: e39992796d5459442be9967c77e27066, type: 3}
|
||||
- {fileID: 7644433920135100480, guid: 12d242e44fe80ab44af852254b7cab0f, type: 3}
|
||||
- {fileID: 1794231825201849485, guid: 6fb0d7fc6faad154b8c3e3cb7abb7c15, type: 3}
|
||||
- {fileID: 6399527186463168339, guid: ac41583865245bc4bb3de6c15929b9fc, type: 3}
|
||||
- {fileID: 2755712733105741372, guid: 70e6fca1164d9a140b271f4261f1f023, type: 3}
|
||||
- {fileID: 5034240524438268576, guid: adbb9bfd5489f3f4995966535ca5f24b, type: 3}
|
||||
- {fileID: 2326026072467672024, guid: c8d9eb8c3ca524b4eb67f6364b455b87, type: 3}
|
||||
- {fileID: 3528960956969533010, guid: 53eea3840d3cde34a9768b8773a3a7e8, type: 3}
|
||||
- {fileID: 9076822654798104907, guid: 4684df63af6398f4f9f624a35023f8d2, type: 3}
|
||||
- {fileID: 3863019143023165617, guid: 774e30e3f0b1d0d49bad0c2abf11038a, type: 3}
|
||||
- {fileID: 5034240524438268576, guid: b15ba9d3d508ef244b0eeb76404dc9de, type: 3}
|
||||
- {fileID: 7207007194116694737, guid: 7180ae585f0db8044ba048426f72d995, type: 3}
|
||||
|
||||
@@ -11,7 +11,6 @@ GameObject:
|
||||
- component: {fileID: 1965178107275650778}
|
||||
- component: {fileID: 2828019556092814789}
|
||||
- component: {fileID: 3751190220360366860}
|
||||
- component: {fileID: 803378854493527400}
|
||||
m_Layer: 0
|
||||
m_Name: SpilSlut
|
||||
m_TagString: Untagged
|
||||
@@ -93,7 +92,7 @@ MonoBehaviour:
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 136.55
|
||||
m_fontSize: 136.85
|
||||
m_fontSizeBase: 72
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 1
|
||||
@@ -409,9 +408,9 @@ RectTransform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 754661265897109340}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 683.9956, y: -157.62965}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 640.62054, y: 0}
|
||||
m_SizeDelta: {x: 268, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1768576830901014477
|
||||
@@ -974,15 +973,15 @@ RectTransform:
|
||||
m_GameObject: {fileID: 3935369085067290987}
|
||||
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_LocalScale: {x: 3, y: 3, z: 3}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children: []
|
||||
m_Father: {fileID: 754661265897109340}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 174.99854, y: -157.62965}
|
||||
m_SizeDelta: {x: 150, y: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 270.45056, y: 0}
|
||||
m_SizeDelta: {x: 42, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &2782310018074465201
|
||||
CanvasRenderer:
|
||||
@@ -1121,15 +1120,15 @@ RectTransform:
|
||||
m_GameObject: {fileID: 4068599104538777648}
|
||||
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_LocalScale: {x: 3, y: 3, z: 3}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children: []
|
||||
m_Father: {fileID: 754661265897109340}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 1192.9927, y: -157.62965}
|
||||
m_SizeDelta: {x: 150, y: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 1010.7905, y: 0}
|
||||
m_SizeDelta: {x: 42, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8344156654954553365
|
||||
CanvasRenderer:
|
||||
@@ -1249,7 +1248,6 @@ GameObject:
|
||||
m_Component:
|
||||
- component: {fileID: 754661265897109340}
|
||||
- component: {fileID: 7750609879083104855}
|
||||
- component: {fileID: 5441545775684538830}
|
||||
m_Layer: 0
|
||||
m_Name: Buttons
|
||||
m_TagString: Untagged
|
||||
@@ -1276,8 +1274,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.10938991, y: 0.11800001}
|
||||
m_AnchorMax: {x: 0.94400007, y: 0.41016972}
|
||||
m_AnchoredPosition: {x: 0, y: 4}
|
||||
m_SizeDelta: {x: 0, y: -4}
|
||||
m_AnchoredPosition: {x: -0.00024414062, y: 0}
|
||||
m_SizeDelta: {x: -86.75, y: -20.246}
|
||||
m_Pivot: {x: 0.5, y: 0}
|
||||
--- !u!114 &7750609879083104855
|
||||
MonoBehaviour:
|
||||
@@ -1297,11 +1295,11 @@ MonoBehaviour:
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 4
|
||||
m_Spacing: 100
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 1
|
||||
m_ChildControlWidth: 0
|
||||
m_ChildControlHeight: 0
|
||||
m_Spacing: 215.17
|
||||
m_ChildForceExpandWidth: 0
|
||||
m_ChildForceExpandHeight: 0
|
||||
m_ChildControlWidth: 1
|
||||
m_ChildControlHeight: 1
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -135,13 +135,13 @@ AnimatorStateMachine:
|
||||
m_ChildStates:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -7925442279578022247}
|
||||
m_Position: {x: 400, y: 370, z: 0}
|
||||
m_Position: {x: 410, y: 370, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -892202757677891130}
|
||||
m_Position: {x: -20, y: 260, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 1937208649765278840}
|
||||
m_Position: {x: 489.1548, y: 156.18289, z: 0}
|
||||
m_Position: {x: 490, y: 150, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_EntryTransitions: []
|
||||
|
||||
@@ -120,6 +120,44 @@ MonoBehaviour:
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &879012544333199198
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8293076336493130222}
|
||||
m_Layer: 5
|
||||
m_Name: Rainbows
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8293076336493130222
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 879012544333199198}
|
||||
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: 6108475066390421500}
|
||||
- {fileID: 6717870941799174515}
|
||||
- {fileID: 4136733570236406132}
|
||||
m_Father: {fileID: 1315170081792486277}
|
||||
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!1 &904161782565348054
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -166,7 +204,7 @@ RectTransform:
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 200}
|
||||
m_SizeDelta: {x: 1550, y: 700}
|
||||
m_SizeDelta: {x: 1550, y: 750}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!223 &4291423916360628965
|
||||
Canvas:
|
||||
@@ -252,7 +290,7 @@ MonoBehaviour:
|
||||
m_StartCorner: 0
|
||||
m_StartAxis: 0
|
||||
m_CellSize: {x: 350, y: 350}
|
||||
m_Spacing: {x: 50, y: 0}
|
||||
m_Spacing: {x: 50, y: 50}
|
||||
m_Constraint: 2
|
||||
m_ConstraintCount: 2
|
||||
--- !u!114 &7425566603516801919
|
||||
@@ -281,7 +319,6 @@ GameObject:
|
||||
- component: {fileID: 6669614972729775195}
|
||||
- component: {fileID: 2981106092574900430}
|
||||
- component: {fileID: 8074691980395114238}
|
||||
- component: {fileID: 1630362919770549177}
|
||||
m_Layer: 5
|
||||
m_Name: AppSwitcher
|
||||
m_TagString: Untagged
|
||||
@@ -301,8 +338,7 @@ RectTransform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 6108475066390421500}
|
||||
- {fileID: 1495118611075801417}
|
||||
- {fileID: 8293076336493130222}
|
||||
- {fileID: 808554455652734252}
|
||||
- {fileID: 2831878373711017175}
|
||||
m_Father: {fileID: 0}
|
||||
@@ -364,36 +400,14 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: bac6124b3ada8a048a0b87a729a22312, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: '::'
|
||||
iconIdle: {fileID: 4900000, guid: 50e22b5bb8a496840952f2563758c13c, type: 3}
|
||||
iconEstablish: {fileID: 4900000, guid: 975218623da47f8428c484d886554a6c, type: 3}
|
||||
rainbowEstablish: {fileID: 4900000, guid: 622be2ef9d5e27d45a9deaf7ed805f5f, type: 3}
|
||||
rainbowRemove: {fileID: 4900000, guid: 589505308c5daf449800f30dd4b92ce7, type: 3}
|
||||
rainbow: {fileID: 5382650426034128680}
|
||||
icon: {fileID: 6784053660381911346}
|
||||
PageName:
|
||||
transitionDuration: 0.3
|
||||
rainbowIn: {fileID: 5382650426034128680}
|
||||
rainbowOut: {fileID: 3983328028282460839}
|
||||
gameLayoutContainer: {fileID: 904161782565348054}
|
||||
exitButton: {fileID: 8427602740714176801}
|
||||
--- !u!95 &1630362919770549177
|
||||
Animator:
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1498581815400593087}
|
||||
m_Enabled: 1
|
||||
m_Avatar: {fileID: 0}
|
||||
m_Controller: {fileID: 9100000, guid: fc380d833ededb441a23b106de60bedd, type: 2}
|
||||
m_CullingMode: 0
|
||||
m_UpdateMode: 2
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
rectMask: {fileID: 7425566603516801919}
|
||||
slideDuration: 0.6
|
||||
--- !u!1 &2426870979657684456
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -514,6 +528,99 @@ MonoBehaviour:
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &3983328028282460839
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6717870941799174515}
|
||||
- component: {fileID: 6334910097310371923}
|
||||
- component: {fileID: 8821021733826365168}
|
||||
- component: {fileID: 9163925342151684341}
|
||||
m_Layer: 5
|
||||
m_Name: RainbowOut
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6717870941799174515
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3983328028282460839}
|
||||
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: 8293076336493130222}
|
||||
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!222 &6334910097310371923
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3983328028282460839}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &8821021733826365168
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3983328028282460839}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RawImage
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Texture: {fileID: 0}
|
||||
m_UVRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: -1
|
||||
--- !u!114 &9163925342151684341
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3983328028282460839}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2fd09147b9e9d42a48d6ddc915ddc3d2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: SkiaSharp.Unity::SkiaSharp.Unity.SkottiePlayerV2
|
||||
lottieFile: {fileID: 4900000, guid: 589505308c5daf449800f30dd4b92ce7, type: 3}
|
||||
customResolution: 0
|
||||
resWidth: 250
|
||||
resHeight: 250
|
||||
stateName:
|
||||
resetAfterFinished: 0
|
||||
autoPlay: 0
|
||||
loop: 0
|
||||
--- !u!1 &4270065472017787841
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -634,6 +741,81 @@ MonoBehaviour:
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &4404111907760364827
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4136733570236406132}
|
||||
- component: {fileID: 102352512179716898}
|
||||
- component: {fileID: 3911817807614671446}
|
||||
m_Layer: 5
|
||||
m_Name: BackgroundOverlay
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4136733570236406132
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4404111907760364827}
|
||||
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: 8293076336493130222}
|
||||
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!222 &102352512179716898
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4404111907760364827}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &3911817807614671446
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4404111907760364827}
|
||||
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: 0, g: 0, b: 0, a: 0.5019608}
|
||||
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!1 &5189738780074141096
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -767,7 +949,7 @@ GameObject:
|
||||
- component: {fileID: 7920249735731934357}
|
||||
- component: {fileID: 3566391948883171773}
|
||||
m_Layer: 5
|
||||
m_Name: Rainbow
|
||||
m_Name: RainbowIn
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
@@ -780,12 +962,12 @@ RectTransform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5382650426034128680}
|
||||
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_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1315170081792486277}
|
||||
m_Father: {fileID: 8293076336493130222}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
@@ -967,156 +1149,6 @@ MonoBehaviour:
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &6784053660381911346
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1495118611075801417}
|
||||
- component: {fileID: 9118909078554628244}
|
||||
- component: {fileID: 8490254979303535795}
|
||||
- component: {fileID: 4316986085632541161}
|
||||
- component: {fileID: 6597789131808754055}
|
||||
m_Layer: 5
|
||||
m_Name: Icon
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1495118611075801417
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6784053660381911346}
|
||||
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: 1315170081792486277}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: -50, y: -50}
|
||||
m_SizeDelta: {x: 200, y: 200}
|
||||
m_Pivot: {x: 1, y: 1}
|
||||
--- !u!222 &9118909078554628244
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6784053660381911346}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &8490254979303535795
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6784053660381911346}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RawImage
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Texture: {fileID: 0}
|
||||
m_UVRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: -1
|
||||
--- !u!114 &4316986085632541161
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6784053660381911346}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2fd09147b9e9d42a48d6ddc915ddc3d2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: SkiaSharp.Unity::SkiaSharp.Unity.SkottiePlayerV2
|
||||
lottieFile: {fileID: 4900000, guid: 50e22b5bb8a496840952f2563758c13c, type: 3}
|
||||
customResolution: 0
|
||||
resWidth: 250
|
||||
resHeight: 250
|
||||
stateName: Idle
|
||||
resetAfterFinished: 0
|
||||
autoPlay: 1
|
||||
loop: 1
|
||||
--- !u!114 &6597789131808754055
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6784053660381911346}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 8490254979303535795}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 8074691980395114238}
|
||||
m_TargetAssemblyTypeName: AppSwitcher, AppleHillsScripts
|
||||
m_MethodName: OpenAppSwitcher
|
||||
m_Mode: 1
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||
m_IntArgument: 0
|
||||
m_FloatArgument: 0
|
||||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
--- !u!1 &7713997083397969887
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1489,6 +1521,7 @@ GameObject:
|
||||
- component: {fileID: 5972191288640444065}
|
||||
- component: {fileID: 236099612463072939}
|
||||
- component: {fileID: 447310668687539451}
|
||||
- component: {fileID: 6704345904811573523}
|
||||
m_Layer: 5
|
||||
m_Name: CloseUIButton
|
||||
m_TagString: Untagged
|
||||
@@ -1599,7 +1632,7 @@ MonoBehaviour:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 8074691980395114238}
|
||||
m_TargetAssemblyTypeName: AppSwitcher, AppleHillsScripts
|
||||
m_MethodName: CloseAppSwitcher
|
||||
m_MethodName: OnBackPressed
|
||||
m_Mode: 1
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
@@ -1609,3 +1642,15 @@ MonoBehaviour:
|
||||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
--- !u!114 &6704345904811573523
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8427602740714176801}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 494d0aedce9744308499355006071138, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: AppleHillsScripts::UI.DummyInput
|
||||
|
||||
@@ -1180,6 +1180,10 @@ PrefabInstance:
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1349376136600192763, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1355374512808105630, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
@@ -1380,6 +1384,10 @@ PrefabInstance:
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2885251706062949998, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2898357846280299605, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
@@ -1624,6 +1632,10 @@ PrefabInstance:
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4595147288479534988, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4611364690555967749, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 0
|
||||
@@ -2060,6 +2072,10 @@ PrefabInstance:
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7517486580377140092, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7520427665364819965, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
@@ -2316,6 +2332,10 @@ PrefabInstance:
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8914746431081002364, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8922411832989560754, guid: 0809b88801c54604aac49ad1d382a0e5, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
|
||||
@@ -34,7 +34,9 @@ RectTransform:
|
||||
- {fileID: 5027301639700053608}
|
||||
- {fileID: 2081116343754364062}
|
||||
- {fileID: 4830022034953347571}
|
||||
- {fileID: 4247146273316450423}
|
||||
- {fileID: 7968396929263690413}
|
||||
- {fileID: 1477338421424306197}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
@@ -79,7 +81,7 @@ MonoBehaviour:
|
||||
boosterDisappearDuration: 0.5
|
||||
impulseSource: {fileID: 4448843358972162772}
|
||||
openingParticleSystem: {fileID: 0}
|
||||
albumIcon: {fileID: 0}
|
||||
albumIcon: {fileID: 2290549912955623947}
|
||||
--- !u!114 &4448843358972162772
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -214,6 +216,170 @@ MonoBehaviour:
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
curveHeight: 50
|
||||
--- !u!1 &2290549912955623947
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4247146273316450423}
|
||||
- component: {fileID: 5793188825053435727}
|
||||
- component: {fileID: 5726314423424208945}
|
||||
- component: {fileID: 299670167085314888}
|
||||
- component: {fileID: 6513785969721658917}
|
||||
m_Layer: 5
|
||||
m_Name: ScrapbookButton
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4247146273316450423
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2290549912955623947}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1.06667, y: 1.06667, z: 1.06667}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5228380266581535650}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 80.000015, y: 79.999985}
|
||||
m_SizeDelta: {x: 241, y: 239}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!222 &5793188825053435727
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2290549912955623947}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &5726314423424208945
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2290549912955623947}
|
||||
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: -4354454609415314374, guid: 1ba1f8cf73f79214190f1432fe1e3bc6, 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!114 &299670167085314888
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2290549912955623947}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 5726314423424208945}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!114 &6513785969721658917
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2290549912955623947}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 494d0aedce9744308499355006071138, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: AppleHillsScripts::UI.DummyInput
|
||||
--- !u!1 &2898816812112041854
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1477338421424306197}
|
||||
m_Layer: 0
|
||||
m_Name: GameObject (1)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1477338421424306197
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2898816812112041854}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -297.3595, y: -196.74738, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5228380266581535650}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &4303341275909682426
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -61,6 +61,43 @@ MonoBehaviour:
|
||||
targetBottomLeftOffset: {x: 100, y: 100}
|
||||
disappearDuration: 0.8
|
||||
disappearScale: 0.2
|
||||
--- !u!1 &2923535299741790846
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5109945643968698326}
|
||||
m_Layer: 0
|
||||
m_Name: BoosterContainer
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5109945643968698326
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2923535299741790846}
|
||||
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: 4006246129058447062}
|
||||
- {fileID: 3680365639323743419}
|
||||
m_Father: {fileID: 2499229096808986326}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 1}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -300}
|
||||
m_SizeDelta: {x: 750, y: 760}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
--- !u!1 &4323719263405703996
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -211,13 +248,13 @@ RectTransform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2499229096808986326}
|
||||
m_Father: {fileID: 5109945643968698326}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 1}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -250}
|
||||
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: 800, y: 800}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5796229481733252802
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -285,9 +322,8 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1338508664922812659}
|
||||
- {fileID: 4006246129058447062}
|
||||
- {fileID: 3680365639323743419}
|
||||
- {fileID: 6841858894429745291}
|
||||
- {fileID: 5109945643968698326}
|
||||
m_Father: {fileID: 1966378914653314124}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
@@ -400,13 +436,13 @@ RectTransform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2499229096808986326}
|
||||
m_Father: {fileID: 5109945643968698326}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 1}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -250}
|
||||
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: 411, y: 729}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8906420622179058179
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -160,9 +160,8 @@ RectTransform:
|
||||
- {fileID: 8738498528538518214}
|
||||
- {fileID: 5608536918715673995}
|
||||
- {fileID: 4540680730086645190}
|
||||
- {fileID: 3104894377099463254}
|
||||
- {fileID: 6887684199047822036}
|
||||
- {fileID: 7201557514015239806}
|
||||
- {fileID: 3104894377099463254}
|
||||
- {fileID: 933791406979012170}
|
||||
- {fileID: 3480404968808584556}
|
||||
- {fileID: 2762656953123736875}
|
||||
@@ -171,6 +170,7 @@ RectTransform:
|
||||
- {fileID: 8076611052546744446}
|
||||
- {fileID: 5806046929178438317}
|
||||
- {fileID: 2847302862365774990}
|
||||
- {fileID: 6887684199047822036}
|
||||
- {fileID: 1712632483313425995}
|
||||
- {fileID: 1712632479955404759}
|
||||
- {fileID: 1712632483092814581}
|
||||
@@ -248,7 +248,7 @@ MonoBehaviour:
|
||||
interactable: 0
|
||||
enableShadowEffect: 0
|
||||
hasTransparentPages: 0
|
||||
currentPaper: 0
|
||||
currentPaper: 5
|
||||
papers:
|
||||
- Front: {fileID: 7113261502207715443}
|
||||
Back: {fileID: 6797866010987677939}
|
||||
@@ -1231,7 +1231,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0.00003512056, y: 0}
|
||||
m_AnchoredPosition: {x: -0.000043282475, y: 0}
|
||||
m_SizeDelta: {x: -0.00000011920929, y: -0.000023126602}
|
||||
m_Pivot: {x: 0.00000008009374, y: -0.00000007264316}
|
||||
--- !u!222 &508081904394904736
|
||||
@@ -1333,7 +1333,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: -0.000061035156, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.00000008009374, y: -0.00000007264316}
|
||||
--- !u!222 &2296939288493081011
|
||||
@@ -1435,7 +1435,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: -0.000061035156, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.00000008009374, y: -0.00000007264316}
|
||||
--- !u!222 &8211049298767349921
|
||||
@@ -1537,7 +1537,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0.00003512056, y: 0}
|
||||
m_AnchoredPosition: {x: -0.000043282475, y: 0}
|
||||
m_SizeDelta: {x: -0.00000011920929, y: -0.000023126602}
|
||||
m_Pivot: {x: 0.00000008009374, y: -0.00000007264316}
|
||||
--- !u!222 &7462669267008339969
|
||||
@@ -1843,7 +1843,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0.00003512056, y: 0}
|
||||
m_AnchoredPosition: {x: -0.000043282475, y: 0}
|
||||
m_SizeDelta: {x: -0.00000011920929, y: -0.000023126602}
|
||||
m_Pivot: {x: 0.00000008009374, y: -0.00000007264316}
|
||||
--- !u!222 &3398264804711496438
|
||||
@@ -1945,7 +1945,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: -0.000061035156, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.00000008009374, y: -0.00000007264316}
|
||||
--- !u!222 &6504874021037615344
|
||||
@@ -2007,9 +2007,9 @@ CanvasGroup:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4997443806488891708}
|
||||
m_Enabled: 1
|
||||
m_Alpha: 0
|
||||
m_Alpha: 1
|
||||
m_Interactable: 1
|
||||
m_BlocksRaycasts: 0
|
||||
m_BlocksRaycasts: 1
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!1 &5403100520341228566
|
||||
GameObject:
|
||||
@@ -2047,7 +2047,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0.00003512056, y: 0}
|
||||
m_AnchoredPosition: {x: -0.000043282475, y: 0}
|
||||
m_SizeDelta: {x: -0.00000011920929, y: -0.000023126602}
|
||||
m_Pivot: {x: 0.00000008009374, y: -0.00000007264316}
|
||||
--- !u!222 &6568871061924215906
|
||||
@@ -2109,9 +2109,9 @@ CanvasGroup:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5403100520341228566}
|
||||
m_Enabled: 1
|
||||
m_Alpha: 0
|
||||
m_Alpha: 1
|
||||
m_Interactable: 1
|
||||
m_BlocksRaycasts: 0
|
||||
m_BlocksRaycasts: 1
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!1 &6797866010987677939
|
||||
GameObject:
|
||||
@@ -2149,7 +2149,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: -0.000061035156, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.00000008009374, y: -0.00000007264316}
|
||||
--- !u!222 &8612384795192217732
|
||||
@@ -2313,9 +2313,9 @@ CanvasGroup:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7113261502207715443}
|
||||
m_Enabled: 1
|
||||
m_Alpha: 1
|
||||
m_Alpha: 0
|
||||
m_Interactable: 1
|
||||
m_BlocksRaycasts: 1
|
||||
m_BlocksRaycasts: 0
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!1 &7771389999338048105
|
||||
GameObject:
|
||||
@@ -2455,7 +2455,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0.00003512056, y: 0}
|
||||
m_AnchoredPosition: {x: -0.000043282475, y: 0}
|
||||
m_SizeDelta: {x: -0.00000011920929, y: -0.000023126602}
|
||||
m_Pivot: {x: 0.00000008009374, y: -0.00000007264316}
|
||||
--- !u!222 &3704846763203543944
|
||||
@@ -2557,7 +2557,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: -0.000061035156, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.00000008009374, y: -0.00000007264316}
|
||||
--- !u!222 &546922297833014509
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6fb0d7fc6faad154b8c3e3cb7abb7c15
|
||||
guid: fe049e0d73eadd7479140c8e7bd10efe
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3863019143023165617
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 272997100784137721}
|
||||
- component: {fileID: 497632815361153787}
|
||||
m_Layer: 5
|
||||
m_Name: UIPageController
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &272997100784137721
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3863019143023165617}
|
||||
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: 0}
|
||||
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!114 &497632815361153787
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3863019143023165617}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b1ae6c1745e44e22a0fa9209ebe45ee3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: AppleHillsScripts::UI.Core.UIPageController
|
||||
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 774e30e3f0b1d0d49bad0c2abf11038a
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -305,6 +305,7 @@ RectTransform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1224833349}
|
||||
- {fileID: 471921060}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
@@ -418,16 +419,16 @@ LineRenderer:
|
||||
m_SortingOrder: 0
|
||||
m_Positions:
|
||||
- {x: -0.15602553, y: 4.074945, z: 0}
|
||||
- {x: -0.1566351, y: 3.9736383, z: 0}
|
||||
- {x: -0.1572447, y: 3.8729858, z: 0}
|
||||
- {x: -0.1566351, y: 3.973638, z: 0}
|
||||
- {x: -0.1572447, y: 3.8729856, z: 0}
|
||||
- {x: -0.15785426, y: 3.7729874, z: 0}
|
||||
- {x: -0.15846384, y: 3.673644, z: 0}
|
||||
- {x: -0.15907341, y: 3.5749543, z: 0}
|
||||
- {x: -0.15968299, y: 3.4769197, z: 0}
|
||||
- {x: -0.15846384, y: 3.6736436, z: 0}
|
||||
- {x: -0.15907341, y: 3.574954, z: 0}
|
||||
- {x: -0.15968299, y: 3.4769192, z: 0}
|
||||
- {x: -0.16029257, y: 3.3795385, z: 0}
|
||||
- {x: -0.16090216, y: 3.2828126, z: 0}
|
||||
- {x: -0.16151173, y: 3.1867406, z: 0}
|
||||
- {x: -0.16212131, y: 3.0913231, z: 0}
|
||||
- {x: -0.16151173, y: 3.1867409, z: 0}
|
||||
- {x: -0.16212131, y: 3.0913236, z: 0}
|
||||
m_Parameters:
|
||||
serializedVersion: 3
|
||||
widthMultiplier: 1
|
||||
@@ -1098,6 +1099,112 @@ Animator:
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1001 &471921059
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 116234201}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1439929750438628637, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: MiniGameBoosterGiver
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_Pivot.y
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8617171489468030463, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
--- !u!224 &471921060 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 1966378914653314124, guid: a855ba60e86bf1e449197f1f5f9b9b73, type: 3}
|
||||
m_PrefabInstance: {fileID: 471921059}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &730962732
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1783,14 +1890,14 @@ LineRenderer:
|
||||
- {x: -0.15602553, y: 4.0749445, z: 0}
|
||||
- {x: -0.11662118, y: 3.879622, z: 0}
|
||||
- {x: -0.07721684, y: 3.7057445, z: 0}
|
||||
- {x: -0.03781248, y: 3.5533104, z: 0}
|
||||
- {x: 0.0015918687, y: 3.4223213, z: 0}
|
||||
- {x: 0.040996216, y: 3.312776, z: 0}
|
||||
- {x: 0.08040057, y: 3.2246757, z: 0}
|
||||
- {x: 0.11980491, y: 3.1580195, z: 0}
|
||||
- {x: 0.15920927, y: 3.1128078, z: 0}
|
||||
- {x: 0.1986136, y: 3.0890403, z: 0}
|
||||
- {x: 0.23801796, y: 3.0867171, z: 0}
|
||||
- {x: -0.03781248, y: 3.5533106, z: 0}
|
||||
- {x: 0.0015918687, y: 3.4223216, z: 0}
|
||||
- {x: 0.040996216, y: 3.3127766, z: 0}
|
||||
- {x: 0.08040057, y: 3.2246761, z: 0}
|
||||
- {x: 0.11980491, y: 3.15802, z: 0}
|
||||
- {x: 0.15920927, y: 3.1128082, z: 0}
|
||||
- {x: 0.1986136, y: 3.0890405, z: 0}
|
||||
- {x: 0.23801796, y: 3.0867176, z: 0}
|
||||
m_Parameters:
|
||||
serializedVersion: 3
|
||||
widthMultiplier: 1
|
||||
@@ -2503,14 +2610,14 @@ LineRenderer:
|
||||
- {x: -0.15602553, y: 4.0749445, z: 0}
|
||||
- {x: -0.18956745, y: 3.8764973, z: 0}
|
||||
- {x: -0.22310936, y: 3.7000232, z: 0}
|
||||
- {x: -0.25665125, y: 3.54552, z: 0}
|
||||
- {x: -0.29019317, y: 3.4129906, z: 0}
|
||||
- {x: -0.32373506, y: 3.302433, z: 0}
|
||||
- {x: -0.35727698, y: 3.213848, z: 0}
|
||||
- {x: -0.39081886, y: 3.1472354, z: 0}
|
||||
- {x: -0.4243608, y: 3.1025953, z: 0}
|
||||
- {x: -0.45790267, y: 3.0799277, z: 0}
|
||||
- {x: -0.4914446, y: 3.0792325, z: 0}
|
||||
- {x: -0.25665125, y: 3.5455203, z: 0}
|
||||
- {x: -0.29019317, y: 3.412991, z: 0}
|
||||
- {x: -0.32373506, y: 3.3024335, z: 0}
|
||||
- {x: -0.35727698, y: 3.2138484, z: 0}
|
||||
- {x: -0.39081886, y: 3.1472359, z: 0}
|
||||
- {x: -0.4243608, y: 3.1025958, z: 0}
|
||||
- {x: -0.45790267, y: 3.0799282, z: 0}
|
||||
- {x: -0.4914446, y: 3.079233, z: 0}
|
||||
m_Parameters:
|
||||
serializedVersion: 3
|
||||
widthMultiplier: 1
|
||||
@@ -3358,7 +3465,7 @@ Transform:
|
||||
m_GameObject: {fileID: 2106431001}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.165, y: 2.697517, z: 0}
|
||||
m_LocalPosition: {x: -0.165, y: 2.6975174, z: 0}
|
||||
m_LocalScale: {x: 0.57574, y: 0.57574, z: 0.57574}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
|
||||
@@ -56,7 +56,13 @@ namespace Bootstrap
|
||||
// Subscribe to boot progress for real-time updates during bootstrap
|
||||
CustomBoot.OnBootProgressChanged += OnBootProgressChanged;
|
||||
|
||||
_logVerbosity = DeveloperSettingsProvider.Instance.GetSettings<DebugSettings>().bootstrapLogVerbosity;
|
||||
#if UNITY_EDITOR
|
||||
_logVerbosity = DeveloperSettingsProvider.Instance.GetSettings<DebugSettings>().bootstrapLogVerbosity;
|
||||
#elif DEVELOPMENT_BUILD
|
||||
_logVerbosity = LogVerbosity.Debug;
|
||||
#elif RELEASE_BUILD
|
||||
_logVerbosity = LogVerbosity.Warning;
|
||||
#endif
|
||||
|
||||
// In debug mode, log additional information
|
||||
if (debugMode)
|
||||
|
||||
@@ -147,6 +147,8 @@ namespace Cinematics
|
||||
/// </summary>
|
||||
public PlayableDirector LoadAndPlayCinematic(string key, bool playPortraitMode)
|
||||
{
|
||||
InitializeComponents();
|
||||
|
||||
// Load the asset via addressables
|
||||
var handle = Addressables.LoadAssetAsync<PlayableAsset>(key);
|
||||
var result = handle.WaitForCompletion();
|
||||
@@ -207,6 +209,9 @@ namespace Cinematics
|
||||
|
||||
public void ShowGameOverScreen()
|
||||
{
|
||||
// Diagnostic: log time and call stack to track when/why game over is triggered
|
||||
Logging.Debug($"[CinematicsManager] ShowGameOverScreen called at time={Time.time:F2}");
|
||||
|
||||
if (divingGameOverScreen != null && UIPageController.Instance != null)
|
||||
{
|
||||
UIPageController.Instance.PushPage(divingGameOverScreen);
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using AppleHills.Data.CardSystem;
|
||||
using Core;
|
||||
using Core.Lifecycle;
|
||||
using Core.SaveLoad;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Data.CardSystem
|
||||
@@ -703,6 +702,22 @@ namespace Data.CardSystem
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clears all card collection data - inventory, pending cards, boosters, and placement tracking
|
||||
/// Used for dev reset functionality
|
||||
/// </summary>
|
||||
public void ClearAllCollectionData()
|
||||
{
|
||||
playerInventory.ClearAllCards();
|
||||
playerInventory.BoosterPackCount = 0;
|
||||
_pendingRevealCards.Clear();
|
||||
_placedInAlbumCardIds.Clear();
|
||||
|
||||
OnBoosterCountChanged?.Invoke(0);
|
||||
|
||||
Logging.Debug("[CardSystemManager] Cleared all collection data (inventory, boosters, pending, placement tracking)");
|
||||
}
|
||||
|
||||
#region Save/Load Lifecycle Hooks
|
||||
|
||||
protected override string OnGlobalSaveRequested()
|
||||
|
||||
@@ -668,16 +668,20 @@ namespace Minigames.DivingForPictures
|
||||
if (giver != null)
|
||||
{
|
||||
UIPageController.Instance.ShowAllUI();
|
||||
giver.GiveBooster(() => { completed = true; });
|
||||
|
||||
// 2) Wait for it to finish (with a safety timeout in case it's not wired)
|
||||
float timeout = 10f; // fallback to avoid blocking forever
|
||||
float elapsed = 0f;
|
||||
while (!completed && elapsed < timeout)
|
||||
Logging.Debug("[DivingGameManager] Starting booster giver sequence");
|
||||
giver.GiveBooster(() =>
|
||||
{
|
||||
completed = true;
|
||||
Logging.Debug("[DivingGameManager] Booster giver completed callback received");
|
||||
});
|
||||
|
||||
// 2) Wait for it to finish (NO timeout - wait indefinitely for user interaction)
|
||||
while (!completed)
|
||||
{
|
||||
elapsed += Time.unscaledDeltaTime;
|
||||
yield return null;
|
||||
}
|
||||
|
||||
Logging.Debug("[DivingGameManager] Booster giver sequence finished, proceeding to game over");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -25,7 +25,6 @@ public class AppleAudioSource : MonoBehaviour
|
||||
_audioMixer = AudioManager.Instance.audioMixer;
|
||||
InitializeAudioSource();
|
||||
audioSource.playOnAwake = false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -53,18 +53,34 @@ public class AudioManager : ManagedBehaviour, IPausable
|
||||
|
||||
protected override void OnManagedAwake()
|
||||
{
|
||||
// Auto-registration with GameManager handled by ManagedBehaviour
|
||||
}
|
||||
// Initialize lists if they were not set in inspector
|
||||
criticalVOSources = criticalVOSources ?? new List<AppleAudioSource>();
|
||||
VOSources = VOSources ?? new List<AppleAudioSource>();
|
||||
musicSources = musicSources ?? new List<AppleAudioSource>();
|
||||
ambienceSources = ambienceSources ?? new List<AppleAudioSource>();
|
||||
SFXSources = SFXSources ?? new List<AppleAudioSource>();
|
||||
|
||||
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
||||
void Start()
|
||||
{
|
||||
_player = QuickAccess.Instance.PlayerGameObject;
|
||||
_audioListener = QuickAccess.Instance.MainCamera.GetComponent<AudioListener>();
|
||||
// Perform singleton-dependent initialization here
|
||||
if (QuickAccess.Instance != null)
|
||||
{
|
||||
_player = QuickAccess.Instance.PlayerGameObject;
|
||||
if (QuickAccess.Instance.MainCamera != null)
|
||||
{
|
||||
_audioListener = QuickAccess.Instance.MainCamera.GetComponent<AudioListener>();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning("[AudioManager] QuickAccess.Instance is null during OnManagedAwake. Some audio references may remain unset.");
|
||||
}
|
||||
|
||||
// Diagnostic
|
||||
foreach (AppleAudioSource _audioSource in criticalVOSources)
|
||||
{
|
||||
Debug.Log("Found source: " + _audioSource.name);
|
||||
}
|
||||
|
||||
Debug.Log("[AudioManager] OnManagedAwake completed");
|
||||
}
|
||||
|
||||
public void SetAudioPauseBehavior(PauseBehavior newPauseBehavior)
|
||||
|
||||
@@ -1,82 +1,122 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using SkiaSharp.Unity;
|
||||
using Input;
|
||||
using AppleHills.Core;
|
||||
using UnityEngine.Events;
|
||||
using UI.Core;
|
||||
using Pixelplacement;
|
||||
using Pixelplacement.TweenSystem;
|
||||
using UI;
|
||||
|
||||
public class AppSwitcher : MonoBehaviour
|
||||
public class AppSwitcher : UIPage
|
||||
{
|
||||
|
||||
public TextAsset iconIdle;
|
||||
public TextAsset iconEstablish;
|
||||
public TextAsset rainbowEstablish;
|
||||
public TextAsset rainbowRemove;
|
||||
public GameObject rainbow;
|
||||
public GameObject icon;
|
||||
public GameObject rainbowIn;
|
||||
public GameObject rainbowOut;
|
||||
public GameObject gameLayoutContainer;
|
||||
public GameObject exitButton;
|
||||
public RectMask2D rectMask;
|
||||
|
||||
private SkottiePlayerV2 iconPlayer;
|
||||
private SkottiePlayerV2 rainbowPlayer;
|
||||
private Animator animator;
|
||||
[Header("Slide Animation Settings")]
|
||||
public float slideDuration = 0.5f;
|
||||
|
||||
private SkottiePlayerV2 rainbowInPlayer;
|
||||
private SkottiePlayerV2 rainbowOutPlayer;
|
||||
private TweenBase slideInTween;
|
||||
private TweenBase slideOutTween;
|
||||
|
||||
private void OnEnable()
|
||||
protected override void OnManagedAwake()
|
||||
{
|
||||
iconPlayer = icon.GetComponentInChildren<SkottiePlayerV2>();
|
||||
rainbowPlayer = rainbow.GetComponentInChildren<SkottiePlayerV2>();
|
||||
animator = GetComponent<Animator>();
|
||||
}
|
||||
base.OnManagedAwake();
|
||||
|
||||
public void OpenAppSwitcher()
|
||||
{
|
||||
//Activate players
|
||||
rainbow.SetActive(true);
|
||||
gameLayoutContainer.SetActive(true);
|
||||
PageName = "AppSwitcher";
|
||||
rainbowInPlayer = rainbowIn.GetComponent<SkottiePlayerV2>();
|
||||
rainbowOutPlayer = rainbowOut.GetComponent<SkottiePlayerV2>();
|
||||
|
||||
// Play establishing animations
|
||||
rainbowPlayer.LoadAnimation(rainbowEstablish.text);
|
||||
rainbowPlayer.PlayAnimation(false);
|
||||
rainbowPlayer.loop = false;
|
||||
gameLayoutContainer.SetActive(true);
|
||||
animator.Play("GamesReveal");
|
||||
if (rectMask == null)
|
||||
{
|
||||
rectMask = GetComponent<RectMask2D>();
|
||||
}
|
||||
|
||||
// Show the exit button
|
||||
exitButton.SetActive(true);
|
||||
|
||||
// Set input mode to UI
|
||||
QuickAccess.Instance.PlayerController.InterruptMoveTo();
|
||||
InputManager.Instance.SetInputMode(InputMode.UI);
|
||||
|
||||
rainbowPlayer.OnAnimationFinished += AnimFinished;
|
||||
}
|
||||
|
||||
public void CloseAppSwitcher()
|
||||
{
|
||||
rainbowPlayer.resetAfterFinished = true;
|
||||
rainbowPlayer.LoadAnimation(rainbowRemove.text);
|
||||
rainbowPlayer.PlayAnimation(false);
|
||||
rainbowPlayer.loop = false;
|
||||
animator.Play("GamesHide");
|
||||
|
||||
// Set input mode to game and ui
|
||||
InputManager.Instance.SetInputMode(InputMode.GameAndUI);
|
||||
|
||||
// Hide the exit button
|
||||
// Initially hide both
|
||||
rainbowIn.SetActive(true);
|
||||
exitButton.SetActive(false);
|
||||
}
|
||||
|
||||
public void GamesHiddenAnimationEvent()
|
||||
protected override void DoTransitionIn(Action onComplete)
|
||||
{
|
||||
rainbow.SetActive(false);
|
||||
gameLayoutContainer.SetActive(false);
|
||||
InputManager.Instance.SetInputMode(InputMode.UI);
|
||||
|
||||
gameLayoutContainer.SetActive(true);
|
||||
|
||||
// Hide rainbow out, show rainbow in
|
||||
rainbowOut.SetActive(false);
|
||||
|
||||
// Play animation on rainbow in without resetting state
|
||||
rainbowInPlayer.PlayAnimation(true);
|
||||
|
||||
// Slide in animation - tween padding.left from 1700 to 0
|
||||
slideInTween = TweenPaddingLeft(1700f, 0f, Tween.EaseOut, () =>
|
||||
{
|
||||
onComplete?.Invoke();
|
||||
rainbowOut.SetActive(true);
|
||||
exitButton.SetActive(true);
|
||||
});
|
||||
}
|
||||
|
||||
private void AnimFinished(string str)
|
||||
protected override void DoTransitionOut(Action onComplete)
|
||||
{
|
||||
rainbowIn.SetActive(false);
|
||||
|
||||
// Play animation on rainbow out with resetting state
|
||||
rainbowOutPlayer.PlayAnimation(true);
|
||||
|
||||
// Hide the exit button
|
||||
exitButton.SetActive(false);
|
||||
|
||||
// Slide out animation - tween padding.left from 0 to 1700
|
||||
slideOutTween = TweenPaddingLeft(0f, 1700f, Tween.EaseIn, () => {
|
||||
gameLayoutContainer.SetActive(false);
|
||||
rainbowIn.SetActive(true);
|
||||
onComplete?.Invoke();
|
||||
InputManager.Instance.SetInputMode(InputMode.GameAndUI);
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tweens the left padding of the rectMask from startValue to endValue.
|
||||
/// </summary>
|
||||
private TweenBase TweenPaddingLeft(float startValue, float endValue, AnimationCurve easeCurve, Action onComplete)
|
||||
{
|
||||
// Set starting position
|
||||
Vector4 startPadding = rectMask.padding;
|
||||
startPadding.x = startValue;
|
||||
rectMask.padding = startPadding;
|
||||
|
||||
return Tween.Value(
|
||||
startValue,
|
||||
endValue,
|
||||
(value) => {
|
||||
Vector4 padding = rectMask.padding;
|
||||
padding.x = value;
|
||||
rectMask.padding = padding;
|
||||
},
|
||||
slideDuration,
|
||||
0f, // no delay
|
||||
easeCurve,
|
||||
Tween.LoopType.None,
|
||||
null, // onStart
|
||||
onComplete
|
||||
);
|
||||
}
|
||||
|
||||
protected override void OnDestroy()
|
||||
{
|
||||
base.OnDestroy();
|
||||
|
||||
// Clean up tweens
|
||||
slideInTween?.Stop();
|
||||
slideOutTween?.Stop();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using AppleHills.Data.CardSystem;
|
||||
using Core;
|
||||
using Data.CardSystem;
|
||||
using Pixelplacement;
|
||||
using UI.Core;
|
||||
using UI.DragAndDrop.Core;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace UI.CardSystem
|
||||
|
||||
@@ -37,8 +37,9 @@ namespace UI.CardSystem
|
||||
[SerializeField] private float boosterDisappearDuration = 0.5f;
|
||||
[SerializeField] private CinemachineImpulseSource impulseSource;
|
||||
[SerializeField] private ParticleSystem openingParticleSystem;
|
||||
[SerializeField] private Transform albumIcon; // Target for card fly-away animation
|
||||
[SerializeField] private GameObject albumIcon; // Target for card fly-away animation and dismiss button
|
||||
|
||||
private Button _dismissButton; // Button to close/dismiss the booster opening page
|
||||
private int _availableBoosterCount;
|
||||
private BoosterPackDraggable _currentBoosterInCenter;
|
||||
private List<BoosterPackDraggable> _activeBoostersInSlots = new List<BoosterPackDraggable>();
|
||||
@@ -57,12 +58,32 @@ namespace UI.CardSystem
|
||||
if (canvasGroup == null)
|
||||
canvasGroup = gameObject.AddComponent<CanvasGroup>();
|
||||
|
||||
// Get dismiss button from albumIcon GameObject
|
||||
if (albumIcon != null)
|
||||
{
|
||||
_dismissButton = albumIcon.GetComponent<Button>();
|
||||
if (_dismissButton != null)
|
||||
{
|
||||
_dismissButton.onClick.AddListener(OnDismissButtonClicked);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning("[BoosterOpeningPage] albumIcon does not have a Button component!");
|
||||
}
|
||||
}
|
||||
|
||||
// UI pages should start disabled
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
// Unsubscribe from dismiss button
|
||||
if (_dismissButton != null)
|
||||
{
|
||||
_dismissButton.onClick.RemoveListener(OnDismissButtonClicked);
|
||||
}
|
||||
|
||||
// Unsubscribe from slot events
|
||||
if (centerOpeningSlot != null)
|
||||
{
|
||||
@@ -82,6 +103,18 @@ namespace UI.CardSystem
|
||||
_availableBoosterCount = count;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Called when the dismiss button (albumIcon) is clicked
|
||||
/// </summary>
|
||||
private void OnDismissButtonClicked()
|
||||
{
|
||||
if (UIPageController.Instance != null)
|
||||
{
|
||||
UIPageController.Instance.PopPage();
|
||||
Debug.Log("[BoosterOpeningPage] Dismiss button clicked, popping page from stack");
|
||||
}
|
||||
}
|
||||
|
||||
public override void TransitionIn()
|
||||
{
|
||||
base.TransitionIn();
|
||||
@@ -768,7 +801,7 @@ namespace UI.CardSystem
|
||||
yield return new WaitForSeconds(0.5f);
|
||||
|
||||
// Animate cards to album icon (or center if no icon assigned) with staggered delays
|
||||
Vector3 targetPosition = albumIcon != null ? albumIcon.position : Vector3.zero;
|
||||
Vector3 targetPosition = albumIcon != null ? albumIcon.transform.position : Vector3.zero;
|
||||
|
||||
int cardIndex = 0;
|
||||
foreach (GameObject cardObj in _currentRevealedCards)
|
||||
|
||||
@@ -45,6 +45,8 @@ namespace UI.CardSystem
|
||||
{
|
||||
openAlbumButton.onClick.RemoveListener(OnOpenAlbumClicked);
|
||||
}
|
||||
|
||||
Debug.Log("ALBUM: CardAlbumDestroyed");
|
||||
}
|
||||
|
||||
private void OnOpenAlbumClicked()
|
||||
@@ -70,7 +72,6 @@ namespace UI.CardSystem
|
||||
UIPageController.Instance.PushPage(albumViewPage);
|
||||
}
|
||||
}
|
||||
// If we're already on the album main page, do nothing
|
||||
}
|
||||
|
||||
private void OnPageChanged(UIPage currentPage)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using Core;
|
||||
using Core.Lifecycle;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
namespace UI.Core
|
||||
@@ -9,12 +10,19 @@ namespace UI.Core
|
||||
/// <summary>
|
||||
/// Manages UI page transitions and maintains a stack of active pages.
|
||||
/// Pages are pushed onto a stack for navigation and popped when going back.
|
||||
/// Supports both scene-based pages and prefab-based instantiation.
|
||||
/// </summary>
|
||||
public class UIPageController : ManagedBehaviour
|
||||
{
|
||||
private static UIPageController _instance;
|
||||
public static UIPageController Instance => _instance;
|
||||
|
||||
[Header("Canvas Management")]
|
||||
[SerializeField] private Transform mainCanvas;
|
||||
|
||||
// Cache instantiated pages to avoid re-creating them
|
||||
private Dictionary<GameObject, UIPage> _prefabInstanceCache = new Dictionary<GameObject, UIPage>();
|
||||
|
||||
private Stack<UIPage> _pageStack = new Stack<UIPage>();
|
||||
public UIPage CurrentPage => _pageStack.Count > 0 ? _pageStack.Peek() : null;
|
||||
public IEnumerable<UIPage> PageStack => _pageStack;
|
||||
@@ -48,7 +56,17 @@ namespace UI.Core
|
||||
{
|
||||
base.OnDestroy();
|
||||
|
||||
// Clean up event subscription when the controller is destroyed
|
||||
// Clean up cached instances
|
||||
foreach (var cachedPage in _prefabInstanceCache.Values)
|
||||
{
|
||||
if (cachedPage != null)
|
||||
{
|
||||
Destroy(cachedPage.gameObject);
|
||||
}
|
||||
}
|
||||
_prefabInstanceCache.Clear();
|
||||
|
||||
// Clean up event subscription
|
||||
if (_cancelAction != null)
|
||||
{
|
||||
_cancelAction.performed -= OnCancelActionPerformed;
|
||||
@@ -85,6 +103,86 @@ namespace UI.Core
|
||||
Logging.Debug($"[UIPageController] Pushed page: {page.PageName}");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Pushes a page from a prefab. Instantiates on first use, reuses on subsequent calls.
|
||||
/// </summary>
|
||||
/// <param name="pagePrefab">The prefab containing a UIPage component</param>
|
||||
public void PushPageFromPrefab(GameObject pagePrefab)
|
||||
{
|
||||
if (pagePrefab == null)
|
||||
{
|
||||
Debug.LogError("[UIPageController] Cannot push null prefab");
|
||||
return;
|
||||
}
|
||||
|
||||
UIPage pageInstance = GetOrInstantiatePage(pagePrefab);
|
||||
if (pageInstance != null)
|
||||
{
|
||||
PushPage(pageInstance); // Use existing push logic
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets cached page instance or instantiates a new one from prefab.
|
||||
/// Searches for UIPage component on root GameObject first, then in first-order children.
|
||||
/// </summary>
|
||||
private UIPage GetOrInstantiatePage(GameObject pagePrefab)
|
||||
{
|
||||
// Check cache first
|
||||
if (_prefabInstanceCache.TryGetValue(pagePrefab, out UIPage cachedPage))
|
||||
{
|
||||
if (cachedPage != null) // Null check in case it was destroyed
|
||||
{
|
||||
return cachedPage;
|
||||
}
|
||||
else
|
||||
{
|
||||
_prefabInstanceCache.Remove(pagePrefab);
|
||||
}
|
||||
}
|
||||
|
||||
// Validate mainCanvas
|
||||
if (mainCanvas == null)
|
||||
{
|
||||
Debug.LogError("[UIPageController] mainCanvas is not assigned! Cannot instantiate page prefab.");
|
||||
return null;
|
||||
}
|
||||
|
||||
// Instantiate new page
|
||||
GameObject pageObject = Instantiate(pagePrefab, mainCanvas);
|
||||
|
||||
// Try to find UIPage component on root first
|
||||
UIPage pageComponent = pageObject.GetComponent<UIPage>();
|
||||
|
||||
// If not found on root, search first-order children (in hierarchy order)
|
||||
if (pageComponent == null)
|
||||
{
|
||||
Transform pageTransform = pageObject.transform;
|
||||
for (int i = 0; i < pageTransform.childCount; i++)
|
||||
{
|
||||
pageComponent = pageTransform.GetChild(i).GetComponent<UIPage>();
|
||||
if (pageComponent != null)
|
||||
{
|
||||
Logging.Debug($"[UIPageController] Found UIPage component on child: {pageComponent.gameObject.name}");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (pageComponent == null)
|
||||
{
|
||||
Debug.LogError($"[UIPageController] Prefab {pagePrefab.name} does not have a UIPage component on root or first-order children!");
|
||||
Destroy(pageObject);
|
||||
return null;
|
||||
}
|
||||
|
||||
// Cache it
|
||||
_prefabInstanceCache[pagePrefab] = pageComponent;
|
||||
|
||||
Logging.Debug($"[UIPageController] Instantiated and cached page: {pageComponent.PageName}");
|
||||
return pageComponent;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Pops the current page from the stack and shows the previous page.
|
||||
/// </summary>
|
||||
@@ -92,40 +190,72 @@ namespace UI.Core
|
||||
{
|
||||
if (_pageStack.Count <= 0) return;
|
||||
|
||||
// Hide and pop current page
|
||||
// Pop current page from stack
|
||||
UIPage currentPage = _pageStack.Pop();
|
||||
currentPage.TransitionOut();
|
||||
|
||||
// Show previous page if there is one
|
||||
if (_pageStack.Count > 0)
|
||||
// Subscribe to transition out completion event
|
||||
Action onTransitionComplete = null;
|
||||
onTransitionComplete = () =>
|
||||
{
|
||||
UIPage previousPage = _pageStack.Peek();
|
||||
previousPage.TransitionIn();
|
||||
OnPageChanged?.Invoke(previousPage);
|
||||
Logging.Debug($"[UIPageController] Popped to previous page: {previousPage.PageName}");
|
||||
}
|
||||
else
|
||||
{
|
||||
OnPageChanged?.Invoke(null);
|
||||
Logging.Debug("[UIPageController] Popped last page, no pages left in stack");
|
||||
}
|
||||
// Unsubscribe to prevent memory leaks
|
||||
currentPage.OnTransitionOutCompleted -= onTransitionComplete;
|
||||
|
||||
// Fire OnPageChanged AFTER transition completes
|
||||
if (_pageStack.Count > 0)
|
||||
{
|
||||
UIPage previousPage = _pageStack.Peek();
|
||||
previousPage.TransitionIn();
|
||||
OnPageChanged?.Invoke(previousPage);
|
||||
Logging.Debug($"[UIPageController] Popped to previous page: {previousPage.PageName}");
|
||||
}
|
||||
else
|
||||
{
|
||||
OnPageChanged?.Invoke(null);
|
||||
Logging.Debug("[UIPageController] Popped last page, no pages left in stack");
|
||||
}
|
||||
};
|
||||
|
||||
currentPage.OnTransitionOutCompleted += onTransitionComplete;
|
||||
|
||||
// Start the transition out animation
|
||||
currentPage.TransitionOut();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clears all pages from the stack.
|
||||
/// Clears all pages from the stack and optionally destroys cached instances.
|
||||
/// </summary>
|
||||
public void ClearStack()
|
||||
/// <param name="destroyCachedInstances">If true, destroys all cached prefab instances</param>
|
||||
public void ClearStack(bool destroyCachedInstances = false)
|
||||
{
|
||||
if (_pageStack.Count <= 0) return;
|
||||
|
||||
// Hide current page
|
||||
UIPage currentPage = _pageStack.Peek();
|
||||
currentPage.TransitionOut();
|
||||
if (_pageStack.Count > 0)
|
||||
{
|
||||
// Hide current page
|
||||
UIPage currentPage = _pageStack.Peek();
|
||||
currentPage.TransitionOut();
|
||||
}
|
||||
|
||||
// Clear stack
|
||||
_pageStack.Clear();
|
||||
|
||||
// Optionally destroy cached instances
|
||||
if (destroyCachedInstances)
|
||||
{
|
||||
foreach (var cachedPage in _prefabInstanceCache.Values)
|
||||
{
|
||||
if (cachedPage != null)
|
||||
{
|
||||
Destroy(cachedPage.gameObject);
|
||||
}
|
||||
}
|
||||
_prefabInstanceCache.Clear();
|
||||
Logging.Debug("[UIPageController] Cleared page stack and destroyed cached instances");
|
||||
}
|
||||
else
|
||||
{
|
||||
Logging.Debug("[UIPageController] Cleared page stack (cached instances retained)");
|
||||
}
|
||||
|
||||
OnPageChanged?.Invoke(null);
|
||||
Logging.Debug("[UIPageController] Cleared page stack");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
69
Assets/Scripts/UI/HudMenuButton.cs
Normal file
69
Assets/Scripts/UI/HudMenuButton.cs
Normal file
@@ -0,0 +1,69 @@
|
||||
using UI.Core;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace UI
|
||||
{
|
||||
/// <summary>
|
||||
/// HUD button that opens a UI page from a prefab when clicked.
|
||||
/// Implements ITouchInputConsumer as a dummy (no touch handling).
|
||||
/// </summary>
|
||||
[RequireComponent(typeof(Button))]
|
||||
public class HudMenuButton : MonoBehaviour, ITouchInputConsumer
|
||||
{
|
||||
[Header("Page Configuration")]
|
||||
[SerializeField] private GameObject pagePrefab;
|
||||
[Tooltip("Optional: Custom name for debug logging")]
|
||||
[SerializeField] private string buttonName = "HudButton";
|
||||
|
||||
private Button _button;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_button = GetComponent<Button>();
|
||||
if (_button != null)
|
||||
{
|
||||
_button.onClick.AddListener(OnButtonClicked);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError($"[HudMenuButton] {buttonName} missing Button component!");
|
||||
}
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
if (_button != null)
|
||||
{
|
||||
_button.onClick.RemoveListener(OnButtonClicked);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnButtonClicked()
|
||||
{
|
||||
if (pagePrefab == null)
|
||||
{
|
||||
Debug.LogError($"[HudMenuButton] {buttonName} has no page prefab assigned!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (PlayerHudManager.Instance == null)
|
||||
{
|
||||
Debug.LogError($"[HudMenuButton] {buttonName} cannot find PlayerHudManager instance!");
|
||||
return;
|
||||
}
|
||||
|
||||
Debug.Log($"[HudMenuButton] {buttonName} opening page from prefab: {pagePrefab.name}");
|
||||
UIPageController.Instance.PushPageFromPrefab(pagePrefab);
|
||||
}
|
||||
|
||||
#region ITouchInputConsumer - Dummy Implementation
|
||||
// Required by interface but not used
|
||||
public void OnTap(Vector2 position) { }
|
||||
public void OnHoldStart(Vector2 position) { }
|
||||
public void OnHoldMove(Vector2 position) { }
|
||||
public void OnHoldEnd(Vector2 position) { }
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
3
Assets/Scripts/UI/HudMenuButton.cs.meta
Normal file
3
Assets/Scripts/UI/HudMenuButton.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e29407f14afc4428a48d3d1b4245b210
|
||||
timeCreated: 1762686499
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using Core;
|
||||
using Core.SaveLoad;
|
||||
using Data.CardSystem;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UI.Core;
|
||||
@@ -22,6 +23,11 @@ namespace UI
|
||||
[SerializeField] private GameObject pauseButton;
|
||||
[SerializeField] private CanvasGroup canvasGroup;
|
||||
|
||||
[Header("Dev Options")]
|
||||
[SerializeField] private UnityEngine.UI.Button devOptionsButton;
|
||||
[SerializeField] private GameObject mainOptionsContainer;
|
||||
[SerializeField] private GameObject devOptionsContainer;
|
||||
|
||||
// After UIPageController (50)
|
||||
public override int ManagedAwakePriority => 55;
|
||||
|
||||
@@ -373,5 +379,91 @@ namespace UI
|
||||
// Just ensure the parent is active. Do not force pause or transitions here.
|
||||
parent.SetActive(true);
|
||||
}
|
||||
|
||||
#region Dev Options
|
||||
|
||||
/// <summary>
|
||||
/// Shows dev options panel and hides main options
|
||||
/// </summary>
|
||||
public void ShowDevOptions()
|
||||
{
|
||||
if (mainOptionsContainer != null) mainOptionsContainer.SetActive(false);
|
||||
if (devOptionsContainer != null) devOptionsContainer.SetActive(true);
|
||||
Logging.Debug("[PauseMenu] Showing dev options");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Hides dev options panel and shows main options
|
||||
/// </summary>
|
||||
public void HideDevOptions()
|
||||
{
|
||||
if (devOptionsContainer != null) devOptionsContainer.SetActive(false);
|
||||
if (mainOptionsContainer != null) mainOptionsContainer.SetActive(true);
|
||||
Logging.Debug("[PauseMenu] Hiding dev options");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Dev option: Completely wipes all save data and reloads the current level
|
||||
/// </summary>
|
||||
public async void DevResetAndReload()
|
||||
{
|
||||
Logging.Debug("[PauseMenu] Dev Reset: Clearing all save data and reloading level");
|
||||
|
||||
// Clear the card collection
|
||||
if (CardSystemManager.Instance != null)
|
||||
{
|
||||
CardSystemManager.Instance.ClearAllCollectionData();
|
||||
Logging.Debug("[PauseMenu] Cleared card collection");
|
||||
}
|
||||
|
||||
// Clear all save data from memory
|
||||
if (SaveLoadManager.Instance != null && SaveLoadManager.Instance.currentSaveData != null)
|
||||
{
|
||||
SaveLoadManager.Instance.currentSaveData.participantStates.Clear();
|
||||
SaveLoadManager.Instance.currentSaveData.unlockedMinigames.Clear();
|
||||
Logging.Debug("[PauseMenu] Cleared all save data from memory");
|
||||
}
|
||||
|
||||
// Delete the save file
|
||||
string saveFolder = System.IO.Path.Combine(Application.persistentDataPath, "GameSaves");
|
||||
if (System.IO.Directory.Exists(saveFolder))
|
||||
{
|
||||
try
|
||||
{
|
||||
string[] files = System.IO.Directory.GetFiles(saveFolder);
|
||||
foreach (string file in files)
|
||||
{
|
||||
System.IO.File.Delete(file);
|
||||
Logging.Debug($"[PauseMenu] Deleted save file: {file}");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logging.Warning($"[PauseMenu] Failed to delete some save files: {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
// Now reload the current scene - skipSave=true prevents re-saving the cleared data
|
||||
var progress = new Progress<float>(p => Logging.Debug($"Loading progress: {p * 100:F0}%"));
|
||||
await SceneManagerService.Instance.ReloadCurrentScene(progress, autoHideLoadingScreen: true, skipSave: true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Dev option: Gives the player 3 booster packs
|
||||
/// </summary>
|
||||
public void DevGiveBoosters()
|
||||
{
|
||||
if (CardSystemManager.Instance != null)
|
||||
{
|
||||
CardSystemManager.Instance.AddBoosterPack(3);
|
||||
Logging.Debug("[PauseMenu] Dev: Granted 3 booster packs");
|
||||
}
|
||||
else
|
||||
{
|
||||
Logging.Warning("[PauseMenu] Dev: CardSystemManager not available");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,84 +1,323 @@
|
||||
using Bootstrap;
|
||||
using Core;
|
||||
using Core.Lifecycle;
|
||||
using UI.Core;
|
||||
using Cinematics;
|
||||
using UnityEngine;
|
||||
using Core;
|
||||
using System;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.Playables;
|
||||
using UnityEngine.UI;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class PlayerHudManager : MonoBehaviour
|
||||
namespace UI
|
||||
{
|
||||
private AppSwitcher _appSwitcher;
|
||||
public GameObject landscapeObject;
|
||||
public GameObject portraitObject;
|
||||
public GameObject cinematicsParentObject;
|
||||
public GameObject CinematicBackground;
|
||||
|
||||
[HideInInspector] public Image cinematicSprites;
|
||||
[HideInInspector] public Image cinematicBackgroundSprites;
|
||||
|
||||
[HideInInspector] public GameObject currentCinematicPlayer;
|
||||
|
||||
[HideInInspector] public PlayableDirector playableDirector;
|
||||
|
||||
|
||||
|
||||
private static PlayerHudManager _instance;
|
||||
|
||||
|
||||
public static PlayerHudManager Instance => _instance;
|
||||
private void Awake()
|
||||
/// <summary>
|
||||
/// Manages player HUD elements and their visibility.
|
||||
/// Works alongside UIPageController (must be on same GameObject).
|
||||
/// Automatically hides HUD when pages open, shows when all pages close.
|
||||
/// </summary>
|
||||
public class PlayerHudManager : ManagedBehaviour
|
||||
{
|
||||
if (Instance != null)
|
||||
public enum UIMode { Overworld, Puzzle, Minigame, HideAll };
|
||||
|
||||
public UIMode currentUIMode;
|
||||
|
||||
[Header("HUD Management")]
|
||||
[SerializeField] private Transform hudButtonsContainer; // Parent object containing all HUD buttons
|
||||
|
||||
[Header("Cinematic References")]
|
||||
public GameObject landscapeObject;
|
||||
public GameObject portraitObject;
|
||||
public GameObject cinematicsParentObject;
|
||||
public GameObject CinematicBackground;
|
||||
|
||||
[Header("HUD Elements")]
|
||||
public GameObject eagleEye;
|
||||
public GameObject ramaSjangButton;
|
||||
|
||||
[HideInInspector] public Image cinematicSprites;
|
||||
[HideInInspector] public Image cinematicBackgroundSprites;
|
||||
[HideInInspector] public GameObject currentCinematicPlayer;
|
||||
[HideInInspector] public PlayableDirector playableDirector;
|
||||
|
||||
|
||||
private static PlayerHudManager _instance;
|
||||
public static PlayerHudManager Instance => _instance;
|
||||
|
||||
private UIPageController _uiPageController;
|
||||
private AppSwitcher _appSwitcherComponent;
|
||||
|
||||
private new void Awake()
|
||||
{
|
||||
Destroy(this);
|
||||
return;
|
||||
}
|
||||
base.Awake();
|
||||
if (Instance != null)
|
||||
{
|
||||
Destroy(this);
|
||||
return;
|
||||
}
|
||||
_instance = this;
|
||||
|
||||
_instance = this;
|
||||
// Get UIPageController on same GameObject
|
||||
_uiPageController = GetComponent<UIPageController>();
|
||||
if (_uiPageController == null)
|
||||
{
|
||||
UnityEngine.Debug.LogError("[PlayerHudManager] UIPageController not found on same GameObject!");
|
||||
}
|
||||
|
||||
// Register for post-boot initialization
|
||||
BootCompletionService.RegisterInitAction(InitializePostBoot);
|
||||
}
|
||||
|
||||
private void InitializeReferences()
|
||||
{
|
||||
cinematicSprites = currentCinematicPlayer.GetComponent<Image>();
|
||||
cinematicBackgroundSprites = CinematicBackground.GetComponent<Image>();
|
||||
playableDirector = cinematicsParentObject.GetComponent<PlayableDirector>();
|
||||
}
|
||||
|
||||
private void InitializePostBoot()
|
||||
{
|
||||
// Initialize any dependencies that require other services to be ready
|
||||
// For example, subscribe to SceneManagerService events if needed
|
||||
|
||||
|
||||
Logging.Debug("[PlayerHudManager] Post-boot initialization complete");
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
// Subscribe to application quit event to ensure cleanup
|
||||
Application.quitting += OnApplicationQuit;
|
||||
}
|
||||
|
||||
private void OnApplicationQuit()
|
||||
{
|
||||
}
|
||||
|
||||
public void SetPortraitMode(bool portraitModeEnable)
|
||||
{
|
||||
if (portraitModeEnable)
|
||||
{
|
||||
currentCinematicPlayer = portraitObject;
|
||||
InitializeReferences();
|
||||
|
||||
}
|
||||
else
|
||||
|
||||
protected override void OnManagedAwake()
|
||||
{
|
||||
// Subscribe to UIPageController page changes for auto HUD management
|
||||
if (_uiPageController != null)
|
||||
{
|
||||
_uiPageController.OnPageChanged += HandlePageStackChanged;
|
||||
}
|
||||
|
||||
// Subscribe to CinematicsManager events for HUD management during cinematics
|
||||
if (CinematicsManager.Instance != null)
|
||||
{
|
||||
CinematicsManager.Instance.OnCinematicStarted += HandleCinematicStarted;
|
||||
CinematicsManager.Instance.OnCinematicStopped += HandleCinematicStopped;
|
||||
|
||||
// Check if a cinematic is already playing
|
||||
if (CinematicsManager.Instance.IsCinematicPlaying)
|
||||
{
|
||||
HideAllHud();
|
||||
Logging.Debug("[PlayerHudManager] Cinematic already playing on init, hiding HUD");
|
||||
}
|
||||
}
|
||||
|
||||
if (SceneManagerService.Instance != null)
|
||||
{
|
||||
SceneManagerService.Instance.SceneLoadCompleted += NewSceneLoaded;
|
||||
}
|
||||
if (SceneManagerService.Instance.CurrentGameplayScene == "AppleHillsOverworld")
|
||||
{
|
||||
NewSceneLoaded("AppleHillsOverworld");
|
||||
}
|
||||
if (SceneManagerService.Instance.CurrentGameplayScene == "StartingScene")
|
||||
{
|
||||
// TODO: Hide all UI until cinematics have played
|
||||
NewSceneLoaded("AppleHillsOverworld");
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnDestroy()
|
||||
{
|
||||
base.OnDestroy();
|
||||
|
||||
// Unsubscribe from events
|
||||
if (_uiPageController != null)
|
||||
{
|
||||
_uiPageController.OnPageChanged -= HandlePageStackChanged;
|
||||
}
|
||||
|
||||
if (CinematicsManager.Instance != null)
|
||||
{
|
||||
CinematicsManager.Instance.OnCinematicStarted -= HandleCinematicStarted;
|
||||
CinematicsManager.Instance.OnCinematicStopped -= HandleCinematicStopped;
|
||||
}
|
||||
|
||||
if (SceneManagerService.Instance != null)
|
||||
{
|
||||
SceneManagerService.Instance.SceneLoadCompleted -= NewSceneLoaded;
|
||||
}
|
||||
}
|
||||
|
||||
private void InitializeReferences()
|
||||
{
|
||||
currentCinematicPlayer = landscapeObject;
|
||||
InitializeReferences();
|
||||
playableDirector = cinematicsParentObject.GetComponent<PlayableDirector>();
|
||||
cinematicSprites = currentCinematicPlayer.GetComponent<Image>();
|
||||
cinematicBackgroundSprites = CinematicBackground.GetComponent<Image>();
|
||||
}
|
||||
|
||||
private void UpateCinematicReferences(GameObject newCinematicPlayer)
|
||||
{
|
||||
currentCinematicPlayer = newCinematicPlayer;
|
||||
cinematicSprites = currentCinematicPlayer.GetComponent<Image>();
|
||||
}
|
||||
|
||||
public void SetPortraitMode(bool portraitModeEnable)
|
||||
{
|
||||
if (portraitModeEnable)
|
||||
{
|
||||
UpateCinematicReferences(portraitObject);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
UpateCinematicReferences(landscapeObject);
|
||||
}
|
||||
}
|
||||
|
||||
public void NewSceneLoaded(string sceneName)
|
||||
{
|
||||
switch (sceneName)
|
||||
{
|
||||
case "AppleHillsOverworld":
|
||||
currentUIMode = UIMode.Overworld;
|
||||
break;
|
||||
case "Quarry":
|
||||
currentUIMode = UIMode.Puzzle;
|
||||
break;
|
||||
case "DivingForPictures":
|
||||
currentUIMode = UIMode.Minigame;
|
||||
break;
|
||||
}
|
||||
|
||||
ShowAllHud();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Hides all HUD button elements
|
||||
/// </summary>
|
||||
public void HideAllHud()
|
||||
{
|
||||
SetHudVisibility(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Shows all HUD button elements
|
||||
/// </summary>
|
||||
public void ShowAllHud()
|
||||
{
|
||||
SetHudVisibility(true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Hides all HUD elements except the specified exceptions
|
||||
/// </summary>
|
||||
/// <param name="exceptions">GameObjects to keep visible</param>
|
||||
public void HideAllHudExcept(params GameObject[] exceptions)
|
||||
{
|
||||
if (hudButtonsContainer == null)
|
||||
{
|
||||
Logging.Warning("[PlayerHudManager] HUD buttons container not assigned");
|
||||
return;
|
||||
}
|
||||
|
||||
HashSet<GameObject> exceptionSet = new HashSet<GameObject>(exceptions);
|
||||
|
||||
foreach (Transform child in hudButtonsContainer)
|
||||
{
|
||||
bool shouldShow = exceptionSet.Contains(child.gameObject);
|
||||
child.gameObject.SetActive(shouldShow);
|
||||
}
|
||||
|
||||
Logging.Debug($"[PlayerHudManager] Hidden HUD except {exceptions.Length} exceptions");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Common method to set visibility of all HUD elements
|
||||
/// </summary>
|
||||
private void SetHudVisibility(bool visible)
|
||||
{
|
||||
if (hudButtonsContainer == null)
|
||||
{
|
||||
Logging.Warning("[PlayerHudManager] HUD buttons container not assigned");
|
||||
return;
|
||||
}
|
||||
|
||||
// Set visibility for all HUD children
|
||||
foreach (Transform child in hudButtonsContainer)
|
||||
{
|
||||
child.gameObject.SetActive(visible);
|
||||
}
|
||||
|
||||
ApplyUIModeOverrides(visible);
|
||||
|
||||
Logging.Debug($"[PlayerHudManager] {(visible ? "Shown" : "Hidden")} all HUD elements");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Applies UI mode-specific visibility rules (e.g., hiding eagleEye in certain modes)
|
||||
/// </summary>
|
||||
private void ApplyUIModeOverrides(bool visible)
|
||||
{
|
||||
switch (currentUIMode)
|
||||
{
|
||||
case UIMode.Overworld:
|
||||
if (visible)
|
||||
{
|
||||
eagleEye.SetActive(false);
|
||||
}
|
||||
break;
|
||||
case UIMode.Puzzle:
|
||||
if (visible)
|
||||
{
|
||||
ramaSjangButton.SetActive(false);
|
||||
}
|
||||
break;
|
||||
case UIMode.Minigame:
|
||||
if (visible)
|
||||
{
|
||||
eagleEye.SetActive(false);
|
||||
}
|
||||
break;
|
||||
case UIMode.HideAll:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Automatically manages HUD visibility based on page stack state
|
||||
/// </summary>
|
||||
private void HandlePageStackChanged(UIPage currentPage)
|
||||
{
|
||||
if (_uiPageController == null) return;
|
||||
|
||||
// Use LINQ Count() on IEnumerable<UIPage> PageStack property
|
||||
int stackCount = _uiPageController.PageStack.Count();
|
||||
|
||||
if (stackCount == 1 && currentPage != null)
|
||||
{
|
||||
// First page just opened - hide HUD
|
||||
HideAllHud();
|
||||
Logging.Debug("[PlayerHudManager] Page opened, hiding HUD");
|
||||
}
|
||||
else if (stackCount == 0)
|
||||
{
|
||||
// Last page closed - show HUD
|
||||
ShowAllHud();
|
||||
Logging.Debug("[PlayerHudManager] All pages closed, showing HUD");
|
||||
}
|
||||
// If stackCount > 1, we're navigating between pages, keep HUD hidden
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Called when a cinematic starts playing
|
||||
/// </summary>
|
||||
private void HandleCinematicStarted()
|
||||
{
|
||||
HideAllHud();
|
||||
Logging.Debug("[PlayerHudManager] Cinematic started, hiding HUD");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Called when a cinematic stops playing
|
||||
/// </summary>
|
||||
private void HandleCinematicStopped()
|
||||
{
|
||||
ShowAllHud();
|
||||
Logging.Debug("[PlayerHudManager] Cinematic stopped, showing HUD");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Convenience method to push a page from prefab using the UIPageController
|
||||
/// </summary>
|
||||
public void PushPageFromPrefab(GameObject pagePrefab)
|
||||
{
|
||||
if (_uiPageController != null)
|
||||
{
|
||||
_uiPageController.PushPageFromPrefab(pagePrefab);
|
||||
}
|
||||
else
|
||||
{
|
||||
UnityEngine.Debug.LogError("[PlayerHudManager] Cannot push page - UIPageController not found!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user