diff --git a/Assets/Scenes/GamePlayer.unity b/Assets/Scenes/GamePlayer.unity index 1e4b8bb..fc91a59 100644 --- a/Assets/Scenes/GamePlayer.unity +++ b/Assets/Scenes/GamePlayer.unity @@ -266,6 +266,7 @@ GameObject: - component: {fileID: 83812370} - component: {fileID: 83812372} - component: {fileID: 83812371} + - component: {fileID: 83812373} m_Layer: 5 m_Name: FPSCounter m_TagString: Untagged @@ -391,6 +392,20 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 83812369} m_CullTransparentMesh: 1 +--- !u!114 &83812373 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83812369} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e4353c3e16b539839e7f8d301ca5e38, type: 3} + m_Name: + m_EditorClassIdentifier: + uiName: FPSText + canDrag: 0 --- !u!1 &157642289 GameObject: m_ObjectHideFlags: 0 @@ -427,6 +442,142 @@ RectTransform: m_AnchoredPosition: {x: -5, y: 0} m_SizeDelta: {x: -20, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &211523163 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 211523164} + - component: {fileID: 211523166} + - component: {fileID: 211523165} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &211523164 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 211523163} + 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: 477875206} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &211523165 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 211523163} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + 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_text: Reset UI + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 4fd546dd0900395408d2de20f5025882, type: 2} + m_sharedMaterial: {fileID: -1476194838487357290, guid: 4fd546dd0900395408d2de20f5025882, 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: 28 + m_fontSizeBase: 28 + 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_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: 1 + 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: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &211523166 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 211523163} + m_CullTransparentMesh: 1 --- !u!1 &271966533 GameObject: m_ObjectHideFlags: 0 @@ -537,6 +688,8 @@ RectTransform: - {fileID: 650845194} - {fileID: 1445300679} - {fileID: 1603915052} + - {fileID: 1639562820} + - {fileID: 477875206} m_Father: {fileID: 1811565639} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -596,9 +749,15 @@ MonoBehaviour: m_EditorClassIdentifier: backButton: {fileID: 1539199161} continueButton: {fileID: 650845195} + editUiButton: {fileID: 1639562821} + resetUiButton: {fileID: 477875207} songLoop: {fileID: 1625416039} musicSlider: {fileID: 1445300680} sfxSlider: {fileID: 1603915053} + fpsText: {fileID: 83812371} + scoreText: {fileID: 432923591} + highScoreText: {fileID: 1606868532} + boostText: {fileID: 497996347} --- !u!1 &432923589 GameObject: m_ObjectHideFlags: 0 @@ -610,6 +769,7 @@ GameObject: - component: {fileID: 432923590} - component: {fileID: 432923592} - component: {fileID: 432923591} + - component: {fileID: 432923593} m_Layer: 5 m_Name: ScoreText m_TagString: Untagged @@ -735,6 +895,20 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 432923589} m_CullTransparentMesh: 1 +--- !u!114 &432923593 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 432923589} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e4353c3e16b539839e7f8d301ca5e38, type: 3} + m_Name: + m_EditorClassIdentifier: + uiName: ScoreText + canDrag: 0 --- !u!1 &450099079 GameObject: m_ObjectHideFlags: 0 @@ -958,6 +1132,127 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 469612870} m_CullTransparentMesh: 1 +--- !u!1 &477875205 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 477875206} + - component: {fileID: 477875209} + - component: {fileID: 477875208} + - component: {fileID: 477875207} + m_Layer: 5 + m_Name: ResetUIButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &477875206 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 477875205} + 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: 211523164} + m_Father: {fileID: 302151017} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 97.5, y: 47.5} + m_SizeDelta: {x: 175, y: 75} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &477875207 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 477875205} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + 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: 477875208} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &477875208 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 477875205} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + 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: 10905, guid: 0000000000000000f000000000000000, type: 0} + 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!222 &477875209 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 477875205} + m_CullTransparentMesh: 1 --- !u!1 &497996345 GameObject: m_ObjectHideFlags: 0 @@ -969,6 +1264,7 @@ GameObject: - component: {fileID: 497996346} - component: {fileID: 497996348} - component: {fileID: 497996347} + - component: {fileID: 497996349} m_Layer: 5 m_Name: BoostText m_TagString: Untagged @@ -1094,6 +1390,20 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 497996345} m_CullTransparentMesh: 1 +--- !u!114 &497996349 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 497996345} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e4353c3e16b539839e7f8d301ca5e38, type: 3} + m_Name: + m_EditorClassIdentifier: + uiName: BoostText + canDrag: 0 --- !u!1 &519420028 GameObject: m_ObjectHideFlags: 0 @@ -2615,6 +2925,7 @@ GameObject: - component: {fileID: 1606868531} - component: {fileID: 1606868533} - component: {fileID: 1606868532} + - component: {fileID: 1606868534} m_Layer: 5 m_Name: HighScoreText m_TagString: Untagged @@ -2740,6 +3051,20 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1606868530} m_CullTransparentMesh: 1 +--- !u!114 &1606868534 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1606868530} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e4353c3e16b539839e7f8d301ca5e38, type: 3} + m_Name: + m_EditorClassIdentifier: + uiName: HighScoreText + canDrag: 0 --- !u!1 &1625416038 GameObject: m_ObjectHideFlags: 0 @@ -2869,6 +3194,127 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1639562819 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1639562820} + - component: {fileID: 1639562823} + - component: {fileID: 1639562822} + - component: {fileID: 1639562821} + m_Layer: 5 + m_Name: EditUIButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1639562820 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1639562819} + 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: 1960803694} + m_Father: {fileID: 302151017} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -97.5, y: 47.5} + m_SizeDelta: {x: 175, y: 75} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1639562821 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1639562819} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + 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: 1639562822} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1639562822 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1639562819} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + 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: 10905, guid: 0000000000000000f000000000000000, type: 0} + 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!222 &1639562823 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1639562819} + m_CullTransparentMesh: 1 --- !u!1 &1811565635 GameObject: m_ObjectHideFlags: 0 @@ -3050,6 +3496,142 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1943129611} m_CullTransparentMesh: 1 +--- !u!1 &1960803693 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1960803694} + - component: {fileID: 1960803696} + - component: {fileID: 1960803695} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1960803694 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960803693} + 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: 1639562820} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1960803695 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960803693} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + 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_text: Edit UI + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 4fd546dd0900395408d2de20f5025882, type: 2} + m_sharedMaterial: {fileID: -1476194838487357290, guid: 4fd546dd0900395408d2de20f5025882, 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: 28 + m_fontSizeBase: 28 + 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_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: 1 + 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: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1960803696 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960803693} + m_CullTransparentMesh: 1 --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/DraggableUI.cs b/Assets/Scripts/DraggableUI.cs new file mode 100644 index 0000000..cc0de69 --- /dev/null +++ b/Assets/Scripts/DraggableUI.cs @@ -0,0 +1,103 @@ +using UnityEngine; +using UnityEngine.EventSystems; +using TMPro; +using UnityEngine.UI; +using System.Collections.Generic; + +public class DraggableUI : MonoBehaviour, IDragHandler, IBeginDragHandler +{ + public static DraggableUI Instance; + private Vector2 offset; + public string uiName; + public bool canDrag = false; + + private readonly List outlineSides = new(); + + void CreateOutline() + { + var borderColor = Color.cyan; + float thickness = 2f; + + CreateSide("Top", new Vector2(0, 1), new Vector2(1, 1), new Vector2(0, thickness), borderColor); + CreateSide("Bottom", new Vector2(0, 0), new Vector2(1, 0), new Vector2(0, thickness), borderColor); + CreateSide("Left", new Vector2(0, 0), new Vector2(0, 1), new Vector2(thickness, 0), borderColor); + CreateSide("Right", new Vector2(1, 0), new Vector2(1, 1), new Vector2(thickness, 0), borderColor); + } + + void CreateSide(string name, Vector2 anchorMin, Vector2 anchorMax, Vector2 size, Color color) + { + var go = new GameObject(name, typeof(Image)); + go.transform.SetParent(transform, false); + var rt = go.GetComponent(); + var img = go.GetComponent(); + img.color = color; + img.raycastTarget = false; + + rt.anchorMin = anchorMin; + rt.anchorMax = anchorMax; + rt.sizeDelta = size; + rt.anchoredPosition = Vector2.zero; + + outlineSides.Add(go); + } + + public void Awake() + { + Instance = this; + CreateOutline(); + } + + public void OnEnable() + { + string key = "DraggedUI" + uiName; + if (PlayerPrefs.HasKey(key) && TryParseVector3(PlayerPrefs.GetString(key), out Vector3 savedPos)) + transform.localPosition = savedPos; + } + + public void Update() + { + foreach (var side in outlineSides) + side.SetActive(canDrag); + } + + public void OnBeginDrag(PointerEventData eventData) + { + if (!canDrag) return; + RectTransformUtility.ScreenPointToLocalPointInRectangle( + (RectTransform)transform.parent, + eventData.position, + eventData.pressEventCamera, + out offset + ); + offset = (Vector2)transform.localPosition - offset; + PlayerPrefs.SetString("DraggedUI" + uiName, transform.localPosition.ToString()); + } + + public void OnDrag(PointerEventData eventData) + { + if (!canDrag) return; + if (RectTransformUtility.ScreenPointToLocalPointInRectangle( + (RectTransform)transform.parent, + eventData.position, + eventData.pressEventCamera, + out Vector2 localPoint + )) transform.localPosition = localPoint + offset; + PlayerPrefs.SetString("DraggedUI" + uiName, transform.localPosition.ToString()); + } + + private bool TryParseVector3(string s, out Vector3 result) + { + s = s.Trim('(', ')'); + string[] parts = s.Split(','); + if (parts.Length == 3 && + float.TryParse(parts[0], out float x) && + float.TryParse(parts[1], out float y) && + float.TryParse(parts[2], out float z)) + { + result = new Vector3(x, y, z); + return true; + } + result = Vector3.zero; + return false; + } +} diff --git a/Assets/Scripts/DraggableUI.cs.meta b/Assets/Scripts/DraggableUI.cs.meta new file mode 100644 index 0000000..d70d1b4 --- /dev/null +++ b/Assets/Scripts/DraggableUI.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8e4353c3e16b539839e7f8d301ca5e38 \ No newline at end of file diff --git a/Assets/Scripts/GamePlayerPauseMenu.cs b/Assets/Scripts/GamePlayerPauseMenu.cs index 56a80c6..38602ea 100644 --- a/Assets/Scripts/GamePlayerPauseMenu.cs +++ b/Assets/Scripts/GamePlayerPauseMenu.cs @@ -1,3 +1,4 @@ +using TMPro; using UnityEngine; using UnityEngine.UI; @@ -5,9 +6,15 @@ public class GamePlayerPauseMenu : MonoBehaviour { public Button backButton; public Button continueButton; + public Button editUiButton; + public Button resetUiButton; public AudioSource songLoop; public Slider musicSlider; public Slider sfxSlider; + public TMP_Text fpsText; + public TMP_Text scoreText; + public TMP_Text highScoreText; + public TMP_Text boostText; void Awake() { @@ -29,5 +36,29 @@ public class GamePlayerPauseMenu : MonoBehaviour PlayerPrefs.SetFloat("sfxVolume", value); PlayerPrefs.Save(); }); + editUiButton.onClick.AddListener(() => + { + musicSlider.gameObject.SetActive(!musicSlider.gameObject.activeSelf); + sfxSlider.gameObject.SetActive(!sfxSlider.gameObject.activeSelf); + backButton.gameObject.SetActive(!backButton.gameObject.activeSelf); + continueButton.gameObject.SetActive(!continueButton.gameObject.activeSelf); + editUiButton.transform.GetChild(0).GetComponent().text = editUiButton.transform.GetChild(0).GetComponent().text == "Edit UI" ? "Done" : "Edit UI"; + resetUiButton.gameObject.SetActive(!resetUiButton.gameObject.activeSelf); + fpsText.GetComponent().canDrag = !fpsText.GetComponent().canDrag; + scoreText.GetComponent().canDrag = !scoreText.GetComponent().canDrag; + highScoreText.GetComponent().canDrag = !highScoreText.GetComponent().canDrag; + boostText.GetComponent().canDrag = !boostText.GetComponent().canDrag; + }); + resetUiButton.onClick.AddListener(() => + { + fpsText.transform.localPosition = new Vector2(-432.5f, 375f); + scoreText.transform.localPosition = new Vector2(0f, 290f); + highScoreText.transform.localPosition = new Vector2(0f, 220f); + boostText.transform.localPosition = new Vector2(0f, 170f); + PlayerPrefs.DeleteKey("DraggedUIFPSText"); + PlayerPrefs.DeleteKey("DraggedUIScoreText"); + PlayerPrefs.DeleteKey("DraggedUIHighScoreText"); + PlayerPrefs.DeleteKey("DraggedUIBoostText"); + }); } } \ No newline at end of file