From 79a928ae52602817d8cdf30256745257637c398b Mon Sep 17 00:00:00 2001 From: Konstantin Dyachenko Date: Sun, 7 Jun 2026 00:18:30 +0700 Subject: [PATCH] [Fix] Refactoring (Remove GameView) TEMP --- Assets/Prefabs/Screens/BoardGrid.prefab | 17 + Assets/Prefabs/Screens/MainMenuPanel.prefab | 6 +- Assets/Prefabs/Screens/PausePanel.prefab | 274 +++++++------ Assets/Prefabs/Screens/ResultPanel.prefab | 360 ++++++++++++++---- .../MinesweeperLifetimeScope.cs | 44 ++- .../Presentation/Factories/CellViewFactory.cs | 61 +-- .../MinesweeperScreenBootstrapper.cs | 46 +-- .../Presentation/Presenters/GamePresenter.cs | 143 ++++--- .../Views/{GameView.cs => BoardView.cs} | 275 +++---------- .../Presentation/Views/BoardView.cs.meta | 2 + Assets/Runtime/Presentation/Views/CellView.cs | 44 --- .../Presentation/Views/GameView.cs.meta | 2 - .../Runtime/Presentation/Views/IBoardView.cs | 22 ++ .../Presentation/Views/IBoardView.cs.meta | 2 + .../Runtime/Presentation/Views/IGameView.cs | 31 -- .../Presentation/Views/IGameView.cs.meta | 2 - .../Runtime/Presentation/Views/IPauseView.cs | 14 + .../Presentation/Views/IPauseView.cs.meta | 2 + .../Runtime/Presentation/Views/IResultView.cs | 14 + .../Presentation/Views/IResultView.cs.meta | 2 + .../Views/MinesweeperScreenRefs.cs | 43 +-- .../Presentation/Views/NullBoardView.cs | 21 + .../Presentation/Views/NullBoardView.cs.meta | 2 + .../Presentation/Views/NullGameView.cs | 102 ----- .../Presentation/Views/NullGameView.cs.meta | 2 - .../Presentation/Views/NullPauseView.cs | 13 + .../Presentation/Views/NullPauseView.cs.meta | 2 + .../Presentation/Views/NullResultView.cs | 13 + .../Presentation/Views/NullResultView.cs.meta | 2 + .../Runtime/Presentation/Views/PauseView.cs | 99 +++++ .../Presentation/Views/PauseView.cs.meta | 2 + .../Runtime/Presentation/Views/ResultView.cs | 89 +++++ .../Presentation/Views/ResultView.cs.meta | 2 + Assets/Scenes/SampleScene.unity | 15 +- 34 files changed, 965 insertions(+), 805 deletions(-) rename Assets/Runtime/Presentation/Views/{GameView.cs => BoardView.cs} (57%) create mode 100644 Assets/Runtime/Presentation/Views/BoardView.cs.meta delete mode 100644 Assets/Runtime/Presentation/Views/GameView.cs.meta create mode 100644 Assets/Runtime/Presentation/Views/IBoardView.cs create mode 100644 Assets/Runtime/Presentation/Views/IBoardView.cs.meta delete mode 100644 Assets/Runtime/Presentation/Views/IGameView.cs delete mode 100644 Assets/Runtime/Presentation/Views/IGameView.cs.meta create mode 100644 Assets/Runtime/Presentation/Views/IPauseView.cs create mode 100644 Assets/Runtime/Presentation/Views/IPauseView.cs.meta create mode 100644 Assets/Runtime/Presentation/Views/IResultView.cs create mode 100644 Assets/Runtime/Presentation/Views/IResultView.cs.meta create mode 100644 Assets/Runtime/Presentation/Views/NullBoardView.cs create mode 100644 Assets/Runtime/Presentation/Views/NullBoardView.cs.meta delete mode 100644 Assets/Runtime/Presentation/Views/NullGameView.cs delete mode 100644 Assets/Runtime/Presentation/Views/NullGameView.cs.meta create mode 100644 Assets/Runtime/Presentation/Views/NullPauseView.cs create mode 100644 Assets/Runtime/Presentation/Views/NullPauseView.cs.meta create mode 100644 Assets/Runtime/Presentation/Views/NullResultView.cs create mode 100644 Assets/Runtime/Presentation/Views/NullResultView.cs.meta create mode 100644 Assets/Runtime/Presentation/Views/PauseView.cs create mode 100644 Assets/Runtime/Presentation/Views/PauseView.cs.meta create mode 100644 Assets/Runtime/Presentation/Views/ResultView.cs create mode 100644 Assets/Runtime/Presentation/Views/ResultView.cs.meta diff --git a/Assets/Prefabs/Screens/BoardGrid.prefab b/Assets/Prefabs/Screens/BoardGrid.prefab index b3dcba3..82622ea 100644 --- a/Assets/Prefabs/Screens/BoardGrid.prefab +++ b/Assets/Prefabs/Screens/BoardGrid.prefab @@ -10,6 +10,7 @@ GameObject: m_Component: - component: {fileID: 2854659401256325699} - component: {fileID: 5452205749846460716} + - component: {fileID: -4096144217532421454} m_Layer: 0 m_Name: BoardGrid m_TagString: Untagged @@ -60,3 +61,19 @@ MonoBehaviour: m_Spacing: {x: 0, y: 0} m_Constraint: 0 m_ConstraintCount: 2 +--- !u!114 &-4096144217532421454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 463985621338212375} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e5eb8dfe520e3b40af304e66728dcfb, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Minesweeper.Presentation.Views.BoardView + root: {fileID: 463985621338212375} + boardPanel: {fileID: 2854659401256325699} + gridLayoutGroup: {fileID: 5452205749846460716} + uiConfig: {fileID: 11400000, guid: c8b7785713c7c8b49b853f7e5028a4fa, type: 2} diff --git a/Assets/Prefabs/Screens/MainMenuPanel.prefab b/Assets/Prefabs/Screens/MainMenuPanel.prefab index ccce8f8..7aacce1 100644 --- a/Assets/Prefabs/Screens/MainMenuPanel.prefab +++ b/Assets/Prefabs/Screens/MainMenuPanel.prefab @@ -2669,19 +2669,19 @@ MonoBehaviour: minText: {fileID: 4504773017523582976} maxText: {fileID: 6866883084726833735} valueText: {fileID: 4474316482196456833} - valueLabel: 'Size X:' + valueLabel: 'Size X: ' sizeYSlider: slider: {fileID: 4051923562216906313} minText: {fileID: 1453579952739003993} maxText: {fileID: 8013579874201281113} valueText: {fileID: 8926983590126121119} - valueLabel: 'Size Y:' + valueLabel: 'Size Y: ' minesSlider: slider: {fileID: 6456819381917595383} minText: {fileID: 3264166992253475585} maxText: {fileID: 6204093840248163070} valueText: {fileID: 7868341748139096968} - valueLabel: 'Mines count:' + valueLabel: 'Mines count: ' --- !u!1 &7723311763242053893 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/Screens/PausePanel.prefab b/Assets/Prefabs/Screens/PausePanel.prefab index 6d472d2..5ca31ee 100644 --- a/Assets/Prefabs/Screens/PausePanel.prefab +++ b/Assets/Prefabs/Screens/PausePanel.prefab @@ -12,7 +12,7 @@ GameObject: - component: {fileID: 1323395922687814} - component: {fileID: 2396570544786180172} m_Layer: 0 - m_Name: Label + m_Name: Text (Continue) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -59,7 +59,7 @@ MonoBehaviour: m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: @@ -67,8 +67,8 @@ MonoBehaviour: m_Calls: [] m_text: Continue m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontAsset: {fileID: 11400000, guid: a9e574c3959daac439febd16011e9205, type: 2} + m_sharedMaterial: {fileID: -6188865965018868098, guid: a9e574c3959daac439febd16011e9205, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] @@ -92,10 +92,10 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 42.95 - m_fontSizeBase: 36 + m_fontSize: 30 + m_fontSizeBase: 30 m_fontWeight: 400 - m_enableAutoSizing: 1 + m_enableAutoSizing: 0 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 @@ -131,12 +131,118 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} + m_margin: {x: 10, y: 10, z: 10, w: 10} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1586981547480857339 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6224274704053806388} + - component: {fileID: 4145956972674934222} + - component: {fileID: 6660518877729283613} + - component: {fileID: 8534273822372783954} + m_Layer: 0 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6224274704053806388 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586981547480857339} + 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: 5608047556670537065} + - {fileID: 5707606247840532089} + - {fileID: 9043826669907694646} + - {fileID: 8881365639295328946} + m_Father: {fileID: 8980764968637402581} + 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: 483.0835, y: 328} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4145956972674934222 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586981547480857339} + m_CullTransparentMesh: 1 +--- !u!114 &6660518877729283613 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586981547480857339} + 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: 3130755090995886313, guid: 4c4c10e49c2777748899d811a0e67689, type: 3} + m_Type: 1 + 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 &8534273822372783954 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586981547480857339} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup + m_Padding: + m_Left: 15 + m_Right: 15 + m_Top: 15 + m_Bottom: 15 + m_ChildAlignment: 4 + m_Spacing: 16 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &2637081591348788270 GameObject: m_ObjectHideFlags: 0 @@ -163,18 +269,18 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2637081591348788270} - 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: - {fileID: 1294402234449297828} - m_Father: {fileID: 8980764968637402581} + m_Father: {fileID: 6224274704053806388} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 180, y: 48} + m_SizeDelta: {x: 400, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3470312087431380435 CanvasRenderer: @@ -204,8 +310,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 + m_Sprite: {fileID: -4571551822685222379, guid: 4c4c10e49c2777748899d811a0e67689, type: 3} + m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -213,7 +319,7 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 + m_PixelsPerUnitMultiplier: 1.94 --- !u!114 &6836717569141764482 MonoBehaviour: m_ObjectHideFlags: 0 @@ -284,18 +390,18 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2638123625286085122} - 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: - {fileID: 897987131459102557} - m_Father: {fileID: 8980764968637402581} + m_Father: {fileID: 6224274704053806388} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 180, y: 48} + m_SizeDelta: {x: 400, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7002517246287558728 CanvasRenderer: @@ -325,8 +431,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 + m_Sprite: {fileID: -4571551822685222379, guid: 4c4c10e49c2777748899d811a0e67689, type: 3} + m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -334,7 +440,7 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 + m_PixelsPerUnitMultiplier: 1.94 --- !u!114 &623936683249341502 MonoBehaviour: m_ObjectHideFlags: 0 @@ -389,8 +495,7 @@ GameObject: m_Component: - component: {fileID: 8980764968637402581} - component: {fileID: 8794113368554700498} - - component: {fileID: 2001891034146769603} - - component: {fileID: 3188781103839045936} + - component: {fileID: 7010459690024596299} m_Layer: 0 m_Name: PausePanel m_TagString: Untagged @@ -410,10 +515,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 5608047556670537065} - - {fileID: 5707606247840532089} - - {fileID: 9043826669907694646} - - {fileID: 8881365639295328946} + - {fileID: 6224274704053806388} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -429,7 +531,7 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2814582388565546678} m_CullTransparentMesh: 1 ---- !u!114 &2001891034146769603 +--- !u!114 &7010459690024596299 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -438,53 +540,13 @@ MonoBehaviour: m_GameObject: {fileID: 2814582388565546678} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: 11500000, guid: 548c3a1ddca35cc4d823c260a88dcecf, type: 3} m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0.08, g: 0.08, b: 0.08, a: 0.72} - 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!114 &3188781103839045936 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2814582388565546678} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 4 - m_Spacing: 16 - m_ChildForceExpandWidth: 0 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 0 - m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 + m_EditorClassIdentifier: Assembly-CSharp::Minesweeper.Presentation.Views.PauseView + root: {fileID: 2814582388565546678} + restartButton: {fileID: 6144314195671038853} + resumeButton: {fileID: 623936683249341502} + mainMenuButton: {fileID: 6836717569141764482} --- !u!1 &4212380874842696201 GameObject: m_ObjectHideFlags: 0 @@ -497,7 +559,7 @@ GameObject: - component: {fileID: 6029337994669973288} - component: {fileID: 5250592819783767390} m_Layer: 0 - m_Name: PauseTitle + m_Name: Text (Pause) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -510,12 +572,12 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4212380874842696201} - 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: 8980764968637402581} + m_Father: {fileID: 6224274704053806388} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -552,15 +614,15 @@ MonoBehaviour: m_Calls: [] m_text: PAUSED m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontAsset: {fileID: 11400000, guid: a9e574c3959daac439febd16011e9205, type: 2} + m_sharedMaterial: {fileID: -6188865965018868098, guid: a9e574c3959daac439febd16011e9205, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} m_enableVertexGradient: 0 m_colorMode: 3 m_fontColorGradient: @@ -577,13 +639,13 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 57.25 - m_fontSizeBase: 36 + m_fontSize: 44.7 + m_fontSizeBase: 44.7 m_fontWeight: 400 - m_enableAutoSizing: 1 + m_enableAutoSizing: 0 m_fontSizeMin: 18 m_fontSizeMax: 72 - m_fontStyle: 0 + m_fontStyle: 1 m_HorizontalAlignment: 2 m_VerticalAlignment: 512 m_textAlignment: 65535 @@ -634,7 +696,7 @@ GameObject: - component: {fileID: 1027039822612322709} - component: {fileID: 263772625500567369} m_Layer: 0 - m_Name: Label + m_Name: Text (Restart) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -681,7 +743,7 @@ MonoBehaviour: m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: @@ -689,8 +751,8 @@ MonoBehaviour: m_Calls: [] m_text: Restart m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontAsset: {fileID: 11400000, guid: a9e574c3959daac439febd16011e9205, type: 2} + m_sharedMaterial: {fileID: -6188865965018868098, guid: a9e574c3959daac439febd16011e9205, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] @@ -714,10 +776,10 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 42.95 - m_fontSizeBase: 36 + m_fontSize: 30 + m_fontSizeBase: 30 m_fontWeight: 400 - m_enableAutoSizing: 1 + m_enableAutoSizing: 0 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 @@ -753,7 +815,7 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} + m_margin: {x: 10, y: 10, z: 10, w: 10} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_hasFontAssetChanged: 0 @@ -771,7 +833,7 @@ GameObject: - component: {fileID: 6171265826240314641} - component: {fileID: 6864102600949450015} m_Layer: 0 - m_Name: Label + m_Name: Text (MainMenu) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -818,7 +880,7 @@ MonoBehaviour: m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: @@ -826,8 +888,8 @@ MonoBehaviour: m_Calls: [] m_text: Main Menu m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontAsset: {fileID: 11400000, guid: a9e574c3959daac439febd16011e9205, type: 2} + m_sharedMaterial: {fileID: -6188865965018868098, guid: a9e574c3959daac439febd16011e9205, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] @@ -851,10 +913,10 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 36.4 - m_fontSizeBase: 36 + m_fontSize: 30 + m_fontSizeBase: 30 m_fontWeight: 400 - m_enableAutoSizing: 1 + m_enableAutoSizing: 0 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 @@ -890,7 +952,7 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} + m_margin: {x: 10, y: 10, z: 10, w: 10} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_hasFontAssetChanged: 0 @@ -922,18 +984,18 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8998480090649882076} - 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: - {fileID: 5392971194067563766} - m_Father: {fileID: 8980764968637402581} + m_Father: {fileID: 6224274704053806388} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 180, y: 48} + m_SizeDelta: {x: 400, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2049058910800172261 CanvasRenderer: @@ -963,8 +1025,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 + m_Sprite: {fileID: -4571551822685222379, guid: 4c4c10e49c2777748899d811a0e67689, type: 3} + m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -972,7 +1034,7 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 + m_PixelsPerUnitMultiplier: 1.94 --- !u!114 &6144314195671038853 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/Screens/ResultPanel.prefab b/Assets/Prefabs/Screens/ResultPanel.prefab index 2a52a3c..bc9a59e 100644 --- a/Assets/Prefabs/Screens/ResultPanel.prefab +++ b/Assets/Prefabs/Screens/ResultPanel.prefab @@ -1,5 +1,142 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &287223920623125733 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4593031335885359894} + - component: {fileID: 2402291059127653790} + - component: {fileID: 6396269881041885796} + m_Layer: 0 + m_Name: Text (Result) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4593031335885359894 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 287223920623125733} + 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: 552927392666894915} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 317.9436, y: 51} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2402291059127653790 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 287223920623125733} + m_CullTransparentMesh: 1 +--- !u!114 &6396269881041885796 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 287223920623125733} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Result + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a9e574c3959daac439febd16011e9205, type: 2} + m_sharedMaterial: {fileID: -6188865965018868098, guid: a9e574c3959daac439febd16011e9205, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 30 + m_fontSizeBase: 30 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 5, y: 5, z: 5, w: 5} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &999041870156624000 GameObject: m_ObjectHideFlags: 0 @@ -12,7 +149,7 @@ GameObject: - component: {fileID: 8382717949319705333} - component: {fileID: 7260907240647165918} m_Layer: 0 - m_Name: Label + m_Name: Text (MainMenu) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -59,7 +196,7 @@ MonoBehaviour: m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: @@ -67,14 +204,14 @@ MonoBehaviour: m_Calls: [] m_text: Main Menu m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontAsset: {fileID: 11400000, guid: a9e574c3959daac439febd16011e9205, type: 2} + m_sharedMaterial: {fileID: -6188865965018868098, guid: a9e574c3959daac439febd16011e9205, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4294967295 + rgba: 4278190080 m_fontColor: {r: 0, g: 0, b: 0, a: 1} m_enableVertexGradient: 0 m_colorMode: 3 @@ -87,15 +224,15 @@ MonoBehaviour: m_spriteAsset: {fileID: 0} m_tintAllSprites: 0 m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 + m_TextStyleHashCode: -1183493901 m_overrideHtmlColors: 0 m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 + m_fontSize: 30 + m_fontSizeBase: 30 m_fontWeight: 400 - m_enableAutoSizing: 1 + m_enableAutoSizing: 0 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 @@ -131,7 +268,7 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} + m_margin: {x: 5, y: 5, z: 5, w: 5} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_hasFontAssetChanged: 0 @@ -149,7 +286,7 @@ GameObject: - component: {fileID: 5737558796278534139} - component: {fileID: 6423146057671714179} m_Layer: 0 - m_Name: Label + m_Name: Text (Restart) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -196,7 +333,7 @@ MonoBehaviour: m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: @@ -204,14 +341,14 @@ MonoBehaviour: m_Calls: [] m_text: Restart m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontAsset: {fileID: 11400000, guid: a9e574c3959daac439febd16011e9205, type: 2} + m_sharedMaterial: {fileID: -6188865965018868098, guid: a9e574c3959daac439febd16011e9205, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4294967295 + rgba: 4278190080 m_fontColor: {r: 0, g: 0, b: 0, a: 1} m_enableVertexGradient: 0 m_colorMode: 3 @@ -224,15 +361,15 @@ MonoBehaviour: m_spriteAsset: {fileID: 0} m_tintAllSprites: 0 m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 + m_TextStyleHashCode: -1183493901 m_overrideHtmlColors: 0 m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 + m_fontSize: 30 + m_fontSizeBase: 30 m_fontWeight: 400 - m_enableAutoSizing: 1 + m_enableAutoSizing: 0 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 @@ -268,7 +405,7 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} + m_margin: {x: 5, y: 5, z: 5, w: 5} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_hasFontAssetChanged: 0 @@ -300,18 +437,18 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6011430087630309393} - 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: - {fileID: 7716741039240103859} - m_Father: {fileID: 1711089644684175522} + m_Father: {fileID: 552927392666894915} 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_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 180, y: 48} + m_SizeDelta: {x: 320, y: 48} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5645585721074283479 CanvasRenderer: @@ -341,8 +478,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 + m_Sprite: {fileID: -4571551822685222379, guid: 4c4c10e49c2777748899d811a0e67689, type: 3} + m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -350,7 +487,7 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 + m_PixelsPerUnitMultiplier: 2 --- !u!114 &8067593845912844089 MonoBehaviour: m_ObjectHideFlags: 0 @@ -420,18 +557,18 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6734942153781218244} - 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: 1711089644684175522} + m_Father: {fileID: 552927392666894915} 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_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 300, y: 64} - m_Pivot: {x: 0.5, y: 0.5} + m_SizeDelta: {x: 330, y: 64} + m_Pivot: {x: 0.5, y: 1} --- !u!222 &8517643472744692661 CanvasRenderer: m_ObjectHideFlags: 0 @@ -462,15 +599,15 @@ MonoBehaviour: m_Calls: [] m_text: GAME OVER m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontAsset: {fileID: 11400000, guid: a9e574c3959daac439febd16011e9205, type: 2} + m_sharedMaterial: {fileID: -6188865965018868098, guid: a9e574c3959daac439febd16011e9205, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} m_enableVertexGradient: 0 m_colorMode: 3 m_fontColorGradient: @@ -482,18 +619,18 @@ MonoBehaviour: m_spriteAsset: {fileID: 0} m_tintAllSprites: 0 m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 + m_TextStyleHashCode: -1183493901 m_overrideHtmlColors: 0 m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 + m_fontSize: 40 + m_fontSizeBase: 40 m_fontWeight: 400 - m_enableAutoSizing: 1 + m_enableAutoSizing: 0 m_fontSizeMin: 18 m_fontSizeMax: 72 - m_fontStyle: 0 + m_fontStyle: 1 m_HorizontalAlignment: 2 m_VerticalAlignment: 512 m_textAlignment: 65535 @@ -542,15 +679,14 @@ GameObject: m_Component: - component: {fileID: 1711089644684175522} - component: {fileID: 2645373253716865156} - - component: {fileID: 3592721359535107435} - - component: {fileID: 732723309192048358} + - component: {fileID: -2277025653673582644} m_Layer: 0 m_Name: ResultPanel m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &1711089644684175522 RectTransform: m_ObjectHideFlags: 0 @@ -563,9 +699,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 8189959685470005628} - - {fileID: 1427833870319099182} - - {fileID: 5791868949534554285} + - {fileID: 552927392666894915} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -581,7 +715,7 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6869455415096409219} m_CullTransparentMesh: 1 ---- !u!114 &3592721359535107435 +--- !u!114 &-2277025653673582644 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -590,34 +724,62 @@ MonoBehaviour: m_GameObject: {fileID: 6869455415096409219} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: 11500000, guid: b0b04ab8a2ef00b4e8d36a96e4f034d8, type: 3} m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0.08, g: 0.08, b: 0.08, a: 0.72} - 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!114 &732723309192048358 + m_EditorClassIdentifier: Assembly-CSharp::Minesweeper.Presentation.Views.ResultView + root: {fileID: 6869455415096409219} + restartButton: {fileID: 4556636970913567574} + mainMenuButton: {fileID: 8067593845912844089} + resultText: {fileID: 6396269881041885796} +--- !u!1 &8309714601234156502 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 552927392666894915} + - component: {fileID: 4744414248438308959} + - component: {fileID: 3970833251751774975} + - component: {fileID: 4674113591805833902} + m_Layer: 0 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &552927392666894915 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8309714601234156502} + 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: 8189959685470005628} + - {fileID: 1427833870319099182} + - {fileID: 5791868949534554285} + - {fileID: 4593031335885359894} + m_Father: {fileID: 1711089644684175522} + 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: 400, y: 350} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &4744414248438308959 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6869455415096409219} + m_GameObject: {fileID: 8309714601234156502} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} @@ -637,6 +799,44 @@ MonoBehaviour: m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 m_ReverseArrangement: 0 +--- !u!222 &3970833251751774975 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8309714601234156502} + m_CullTransparentMesh: 1 +--- !u!114 &4674113591805833902 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8309714601234156502} + 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: 3130755090995886313, guid: 4c4c10e49c2777748899d811a0e67689, type: 3} + m_Type: 1 + 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 &8555883531386717516 GameObject: m_ObjectHideFlags: 0 @@ -663,18 +863,18 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8555883531386717516} - 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: - {fileID: 4475925576080504750} - m_Father: {fileID: 1711089644684175522} + m_Father: {fileID: 552927392666894915} 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_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 180, y: 48} + m_SizeDelta: {x: 320, y: 48} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2044360681731469335 CanvasRenderer: @@ -704,8 +904,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 + m_Sprite: {fileID: -4571551822685222379, guid: 4c4c10e49c2777748899d811a0e67689, type: 3} + m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -713,7 +913,7 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 + m_PixelsPerUnitMultiplier: 2 --- !u!114 &4556636970913567574 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Runtime/Infrastructure/MinesweeperLifetimeScope.cs b/Assets/Runtime/Infrastructure/MinesweeperLifetimeScope.cs index 2a8c782..4ebd840 100644 --- a/Assets/Runtime/Infrastructure/MinesweeperLifetimeScope.cs +++ b/Assets/Runtime/Infrastructure/MinesweeperLifetimeScope.cs @@ -21,7 +21,9 @@ namespace Minesweeper.Infrastructure [SerializeField] private Transform contentRoot; [SerializeField] private TopPanelView topPanelView; [SerializeField] private MainMenuView mainMenuView; - [SerializeField] private GameView gameView; + [SerializeField] private BoardView boardView; + [SerializeField] private PauseView pauseView; + [SerializeField] private ResultView resultView; protected override void Configure(IContainerBuilder builder) { @@ -45,9 +47,19 @@ namespace Minesweeper.Infrastructure mainMenuView = screenRefs.MainMenuView; } - if (gameView != null && screenRefs.BoardPanel != null) + if (screenRefs.BoardView != null) { - gameView.BindScreens(screenRefs); + boardView = screenRefs.BoardView; + } + + if (screenRefs.PauseView != null) + { + pauseView = screenRefs.PauseView; + } + + if (screenRefs.ResultView != null) + { + resultView = screenRefs.ResultView; } if (topPanelView != null) @@ -69,14 +81,32 @@ namespace Minesweeper.Infrastructure builder.Register(Lifetime.Singleton).As(); } - if (gameView != null) + if (boardView != null) { - gameView.BindConfig(resolvedUiConfig); - builder.RegisterComponent(gameView).As(); + boardView.BindConfig(resolvedUiConfig); + builder.RegisterComponent(boardView).As(); } else { - builder.Register(Lifetime.Singleton).As(); + builder.Register(Lifetime.Singleton).As(); + } + + if (pauseView != null) + { + builder.RegisterComponent(pauseView).As(); + } + else + { + builder.Register(Lifetime.Singleton).As(); + } + + if (resultView != null) + { + builder.RegisterComponent(resultView).As(); + } + else + { + builder.Register(Lifetime.Singleton).As(); } builder.Register(Lifetime.Singleton); diff --git a/Assets/Runtime/Presentation/Factories/CellViewFactory.cs b/Assets/Runtime/Presentation/Factories/CellViewFactory.cs index a9f2a2a..d557cde 100644 --- a/Assets/Runtime/Presentation/Factories/CellViewFactory.cs +++ b/Assets/Runtime/Presentation/Factories/CellViewFactory.cs @@ -1,18 +1,12 @@ using Minesweeper.Config; using Minesweeper.Core; using Minesweeper.Presentation.Views; -using TMPro; using UnityEngine; -using UnityEngine.UI; namespace Minesweeper.Presentation.Factories { public sealed class CellViewFactory : ICellViewFactory { - private const string ContentImagePath = "Content/Image"; - private const string ContentLabelPath = "Content/Text (TMP)"; - private const string ContentPath = "Content"; - private readonly MinesweeperUiConfig uiConfig; public CellViewFactory(MinesweeperUiConfig uiConfig) @@ -23,22 +17,23 @@ namespace Minesweeper.Presentation.Factories public CellView CreateCell(BoardCellData cell, Transform parent) { var prefab = uiConfig.CellButtonPrefab; - var go = prefab != null ? Object.Instantiate(prefab, parent) : CreateFallbackCell(parent); + if (prefab == null) + { + Debug.LogError("CellViewFactory failed: CellButtonPrefab is not assigned."); + return null; + } + + var go = Object.Instantiate(prefab, parent); go.name = BuildCellName(cell.X, cell.Y, cell.DisplayValue); var view = go.GetComponent(); if (view == null) { - view = go.AddComponent(); + Debug.LogError($"CellViewFactory failed: '{prefab.name}' is missing CellView."); + Object.Destroy(go); + return null; } - var button = go.GetComponent