From 3f51b34aece227a17cd4531ae4f46eb21b81ca53 Mon Sep 17 00:00:00 2001 From: Julia Butenhoff Date: Mon, 28 Feb 2022 14:03:46 -0600 Subject: [PATCH] Added a Button to Reset to Last Checkpoint - Unable to test to verify if it works until the Respawn Positions are in the game scene --- .../ResetZones/ResetZoneFoothills.prefab | 14 + .../ResetZones/ResetZoneMountain.prefab | 14 + .../ResetZones/ResetZonePlains.prefab | 14 + .../ResetZones/ResetZoneValley.prefab | 14 + Assets/Prefabs/Game/PauseMenu.prefab | 1154 ++++++++++++++++- .../Player/NetworkSMPlayerPrefab.prefab | 14 + .../Scripts/Environment/ResetZonesGlobal.cs | 45 + .../Environment/ResetZonesGlobal.cs.meta | 11 + Assets/Scripts/PlayerScripts/ResetZones.cs | 162 +++ .../Scripts/PlayerScripts/ResetZones.cs.meta | 11 + Assets/Scripts/UI/PauseMenu.cs | 24 + 11 files changed, 1476 insertions(+), 1 deletion(-) create mode 100644 Assets/Scripts/Environment/ResetZonesGlobal.cs create mode 100644 Assets/Scripts/Environment/ResetZonesGlobal.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/ResetZones.cs create mode 100644 Assets/Scripts/PlayerScripts/ResetZones.cs.meta diff --git a/Assets/Prefabs/Environment/ResetZones/ResetZoneFoothills.prefab b/Assets/Prefabs/Environment/ResetZones/ResetZoneFoothills.prefab index b9022e2..2a02134 100644 --- a/Assets/Prefabs/Environment/ResetZones/ResetZoneFoothills.prefab +++ b/Assets/Prefabs/Environment/ResetZones/ResetZoneFoothills.prefab @@ -10,6 +10,7 @@ GameObject: m_Component: - component: {fileID: 8044612620057779272} - component: {fileID: 8044612620057779273} + - component: {fileID: -2884972987869746759} m_Layer: 0 m_Name: ResetZoneFoothills m_TagString: Untagged @@ -44,3 +45,16 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 1700, y: 2000, z: 1200} m_Center: {x: -2850, y: 0, z: 500} +--- !u!114 &-2884972987869746759 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8044612620057779274} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6560db454bf09ef49bdb0240a370b8aa, type: 3} + m_Name: + m_EditorClassIdentifier: + RespawnZone: 2 diff --git a/Assets/Prefabs/Environment/ResetZones/ResetZoneMountain.prefab b/Assets/Prefabs/Environment/ResetZones/ResetZoneMountain.prefab index 308f4bb..62663a3 100644 --- a/Assets/Prefabs/Environment/ResetZones/ResetZoneMountain.prefab +++ b/Assets/Prefabs/Environment/ResetZones/ResetZoneMountain.prefab @@ -10,6 +10,7 @@ GameObject: m_Component: - component: {fileID: 8977215705378820474} - component: {fileID: 8977215705378820485} + - component: {fileID: -3220977901539271234} m_Layer: 0 m_Name: ResetZoneMountain m_TagString: Untagged @@ -44,3 +45,16 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 1400, y: 2500, z: 1200} m_Center: {x: -4400, y: 0, z: 500} +--- !u!114 &-3220977901539271234 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8977215705378820484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6560db454bf09ef49bdb0240a370b8aa, type: 3} + m_Name: + m_EditorClassIdentifier: + RespawnZone: 3 diff --git a/Assets/Prefabs/Environment/ResetZones/ResetZonePlains.prefab b/Assets/Prefabs/Environment/ResetZones/ResetZonePlains.prefab index 175f722..bcab9c3 100644 --- a/Assets/Prefabs/Environment/ResetZones/ResetZonePlains.prefab +++ b/Assets/Prefabs/Environment/ResetZones/ResetZonePlains.prefab @@ -10,6 +10,7 @@ GameObject: m_Component: - component: {fileID: 1578817158580045979} - component: {fileID: 1578817158580045978} + - component: {fileID: -4917741327760879080} m_Layer: 0 m_Name: ResetZonePlains m_TagString: Untagged @@ -44,3 +45,16 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 2000, y: 1000, z: 1200} m_Center: {x: -1000, y: 0, z: 500} +--- !u!114 &-4917741327760879080 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1578817158580045977} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6560db454bf09ef49bdb0240a370b8aa, type: 3} + m_Name: + m_EditorClassIdentifier: + RespawnZone: 1 diff --git a/Assets/Prefabs/Environment/ResetZones/ResetZoneValley.prefab b/Assets/Prefabs/Environment/ResetZones/ResetZoneValley.prefab index f42b3b5..5d94dea 100644 --- a/Assets/Prefabs/Environment/ResetZones/ResetZoneValley.prefab +++ b/Assets/Prefabs/Environment/ResetZones/ResetZoneValley.prefab @@ -10,6 +10,7 @@ GameObject: m_Component: - component: {fileID: 6676345594231214399} - component: {fileID: 6676345594231214396} + - component: {fileID: -7956066325359681501} m_Layer: 0 m_Name: ResetZoneValley m_TagString: Untagged @@ -44,3 +45,16 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 1200, y: 1000, z: 1200} m_Center: {x: 600, y: 0, z: 500} +--- !u!114 &-7956066325359681501 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6676345594231214397} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6560db454bf09ef49bdb0240a370b8aa, type: 3} + m_Name: + m_EditorClassIdentifier: + RespawnZone: 0 diff --git a/Assets/Prefabs/Game/PauseMenu.prefab b/Assets/Prefabs/Game/PauseMenu.prefab index e77dbb5..810c2f4 100644 --- a/Assets/Prefabs/Game/PauseMenu.prefab +++ b/Assets/Prefabs/Game/PauseMenu.prefab @@ -1,5 +1,272 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &274144083379316921 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8391233255671266210} + - component: {fileID: 1999528476554244064} + - component: {fileID: 6512404590227829373} + 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 &8391233255671266210 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 274144083379316921} + 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_Children: [] + m_Father: {fileID: 2011651070182081334} + m_RootOrder: 0 + 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 &1999528476554244064 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 274144083379316921} + m_CullTransparentMesh: 1 +--- !u!114 &6512404590227829373 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 274144083379316921} + 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: Restart From Checkpoint + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 + m_fontSizeBase: 24 + 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_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 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!1 &451556703987980318 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4140882584455062955} + - component: {fileID: 5433838229305792719} + - component: {fileID: 8338240346242917450} + - component: {fileID: 5493919945375996349} + m_Layer: 5 + m_Name: No + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4140882584455062955 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 451556703987980318} + 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_Children: + - {fileID: 4224487703621804023} + m_Father: {fileID: 6386727867062549690} + m_RootOrder: 3 + 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: 200, y: -70} + m_SizeDelta: {x: 160, y: 160} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5433838229305792719 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 451556703987980318} + m_CullTransparentMesh: 1 +--- !u!114 &8338240346242917450 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 451556703987980318} + 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!114 &5493919945375996349 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 451556703987980318} + 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: 8338240346242917450} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1008376151640199170} + m_TargetAssemblyTypeName: PauseMenu, Assembly-CSharp + m_MethodName: RespawnDecline + 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 &928155063674928948 GameObject: m_ObjectHideFlags: 0 @@ -535,6 +802,139 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &2884488883947615754 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2011651070182081334} + - component: {fileID: 7833952391038157643} + - component: {fileID: 4795927247137001599} + - component: {fileID: 901687264667949450} + m_Layer: 5 + m_Name: Reset Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2011651070182081334 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2884488883947615754} + 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_Children: + - {fileID: 8391233255671266210} + m_Father: {fileID: 8102733820252860820} + m_RootOrder: 4 + 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: 360, y: -190} + m_SizeDelta: {x: 180, y: 75} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7833952391038157643 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2884488883947615754} + m_CullTransparentMesh: 1 +--- !u!114 &4795927247137001599 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2884488883947615754} + 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!114 &901687264667949450 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2884488883947615754} + 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: 4795927247137001599} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1008376151640199170} + m_TargetAssemblyTypeName: PauseMenu, Assembly-CSharp + m_MethodName: OnRespawnClicked + 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 &3113667866579774103 GameObject: m_ObjectHideFlags: 0 @@ -1068,6 +1468,140 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 +--- !u!1 &3830806490259888607 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8042931979614371510} + - component: {fileID: 6253372677952567094} + - component: {fileID: 224773748188016339} + m_Layer: 5 + m_Name: Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8042931979614371510 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3830806490259888607} + 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_Children: [] + m_Father: {fileID: 6386727867062549690} + m_RootOrder: 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: 160} + m_SizeDelta: {x: 850, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6253372677952567094 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3830806490259888607} + m_CullTransparentMesh: 1 +--- !u!114 &224773748188016339 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3830806490259888607} + 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: Are you sure you want to reset to the last checkpoint? + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, 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: 64 + m_fontSizeBase: 64 + 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_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 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!1 &3983786232529856659 GameObject: m_ObjectHideFlags: 0 @@ -1594,6 +2128,7 @@ MonoBehaviour: PauseMenuPanel: {fileID: 9084194004066917146} ControlsPanel: {fileID: 6408925085706637582} ConfirmationPanel: {fileID: 4140771332207377258} + RespawnConfirmationPanel: {fileID: 5027872871932674801} ControlsHeader: {fileID: 785062696961171354} ControlsButtonText: {fileID: 4533798804063372460} ControlsText: {fileID: 8276015047527584947} @@ -1730,6 +2265,85 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 +--- !u!1 &5027872871932674801 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6386727867062549690} + - component: {fileID: 5788238615047306731} + - component: {fileID: 1460743077627365384} + m_Layer: 5 + m_Name: Respawn Confirmation Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6386727867062549690 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5027872871932674801} + 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_Children: + - {fileID: 8042931979614371510} + - {fileID: 3110069533085766455} + - {fileID: 9219979954023168304} + - {fileID: 4140882584455062955} + m_Father: {fileID: 1793745641813536501} + m_RootOrder: 3 + 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: -1000, y: -600} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5788238615047306731 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5027872871932674801} + m_CullTransparentMesh: 1 +--- !u!114 &1460743077627365384 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5027872871932674801} + 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: 10907, 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!1 &5462472603902457520 GameObject: m_ObjectHideFlags: 0 @@ -1997,6 +2611,141 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6166253268564238546 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3110069533085766455} + - component: {fileID: 8102807331478978810} + - component: {fileID: 470956603106515268} + m_Layer: 5 + m_Name: SubTitle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3110069533085766455 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6166253268564238546} + 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_Children: [] + m_Father: {fileID: 6386727867062549690} + m_RootOrder: 1 + 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: 60} + m_SizeDelta: {x: 850, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8102807331478978810 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6166253268564238546} + m_CullTransparentMesh: 1 +--- !u!114 &470956603106515268 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6166253268564238546} + 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: (Checkpoints are placed at the beginning of each section, so you may lose + a lot of progress) + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4282598211 + m_fontColor: {r: 0.26415092, g: 0.26415092, b: 0.26415092, 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: 20 + m_fontSizeBase: 20 + 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_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 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!1 &6260740097419593515 GameObject: m_ObjectHideFlags: 0 @@ -2131,6 +2880,140 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6369592856175716422 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4224487703621804023} + - component: {fileID: 6251629022002632703} + - component: {fileID: 3084334292724412091} + 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 &4224487703621804023 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6369592856175716422} + 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_Children: [] + m_Father: {fileID: 4140882584455062955} + m_RootOrder: 0 + 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 &6251629022002632703 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6369592856175716422} + m_CullTransparentMesh: 1 +--- !u!114 &3084334292724412091 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6369592856175716422} + 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: NO + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 + m_fontSizeBase: 24 + 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_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 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!1 &6408925085706637582 GameObject: m_ObjectHideFlags: 0 @@ -2148,7 +3031,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &5380955492475389417 RectTransform: m_ObjectHideFlags: 0 @@ -2210,6 +3093,139 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7080744422910871472 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9219979954023168304} + - component: {fileID: 6315999763176095441} + - component: {fileID: 5587618179766766041} + - component: {fileID: 2974351421764017748} + m_Layer: 5 + m_Name: Yes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9219979954023168304 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7080744422910871472} + 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_Children: + - {fileID: 3257480260369891397} + m_Father: {fileID: 6386727867062549690} + m_RootOrder: 2 + 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: -200, y: -70} + m_SizeDelta: {x: 160, y: 160} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6315999763176095441 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7080744422910871472} + m_CullTransparentMesh: 1 +--- !u!114 &5587618179766766041 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7080744422910871472} + 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!114 &2974351421764017748 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7080744422910871472} + 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: 5587618179766766041} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1008376151640199170} + m_TargetAssemblyTypeName: PauseMenu, Assembly-CSharp + m_MethodName: RespawnConfirmed + 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 &7837770066670712181 GameObject: m_ObjectHideFlags: 0 @@ -2344,6 +3360,140 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &8023758833543565206 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3257480260369891397} + - component: {fileID: 695044799740452301} + - component: {fileID: 2095773176534296214} + 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 &3257480260369891397 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8023758833543565206} + 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_Children: [] + m_Father: {fileID: 9219979954023168304} + m_RootOrder: 0 + 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 &695044799740452301 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8023758833543565206} + m_CullTransparentMesh: 1 +--- !u!114 &2095773176534296214 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8023758833543565206} + 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: YES + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 24 + m_fontSizeBase: 24 + 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_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 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!1 &8128989269905341190 GameObject: m_ObjectHideFlags: 0 @@ -2645,6 +3795,7 @@ RectTransform: - {fileID: 8102733820252860820} - {fileID: 5380955492475389417} - {fileID: 2658369928263596432} + - {fileID: 6386727867062549690} m_Father: {fileID: 6431751770358054813} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -2747,6 +3898,7 @@ RectTransform: - {fileID: 314138801370893248} - {fileID: 5619977130392684617} - {fileID: 3817326226194116794} + - {fileID: 2011651070182081334} m_Father: {fileID: 1793745641813536501} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Prefabs/Player/NetworkSMPlayerPrefab.prefab b/Assets/Prefabs/Player/NetworkSMPlayerPrefab.prefab index 5f0bc3b..18dafcd 100644 --- a/Assets/Prefabs/Player/NetworkSMPlayerPrefab.prefab +++ b/Assets/Prefabs/Player/NetworkSMPlayerPrefab.prefab @@ -4597,6 +4597,7 @@ GameObject: - component: {fileID: 7688428083034862389} - component: {fileID: 7688428083034862390} - component: {fileID: 7688428083034862391} + - component: {fileID: 7391821093297401085} m_Layer: 0 m_Name: T-Pose m_TagString: ArcherTarget @@ -4846,6 +4847,7 @@ MonoBehaviour: vel: {x: 0, y: 0, z: 0} driftVel: {x: 0, y: 0, z: 0} calculatedCurVel: 0 + layerMask: 0 minAngle: -18 maxAngle: 30 sensitivity: 200 @@ -4905,6 +4907,18 @@ MonoBehaviour: pStats: {fileID: 0} mSM: {fileID: 0} aSM: {fileID: 0} +--- !u!114 &7391821093297401085 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7688428083034862386} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f942eeaa888c98468c9ad196fb88115, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &7740096766088430285 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Environment/ResetZonesGlobal.cs b/Assets/Scripts/Environment/ResetZonesGlobal.cs new file mode 100644 index 0000000..bacc140 --- /dev/null +++ b/Assets/Scripts/Environment/ResetZonesGlobal.cs @@ -0,0 +1,45 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using MLAPI; +using MLAPI.Messaging; + +public class ResetZonesGlobal : MonoBehaviour { + + private bool cooldown = false; + + [SerializeField] + private int RespawnZone; + + private void OnTriggerEnter(Collider other) { + if (cooldown == false && other.transform.gameObject.tag == "PlayerTrigger" && other.gameObject.transform.root.gameObject.GetComponent().OwnerClientId == NetworkManager.Singleton.LocalClientId) { + SetClientRespawnZoneServerRPC(other.gameObject.transform.root.gameObject.GetComponent().OwnerClientId, RespawnZone); + cooldown = true; + StartCoroutine(CoolItDown()); + } + } + + [ServerRpc(RequireOwnership = false)] + private void SetClientRespawnZoneServerRPC(ulong clientID, int RespawnZone) { + SetClientRespawnZoneClientRPC(clientID, RespawnZone); + } + + [ClientRpc] + private void SetClientRespawnZoneClientRPC(ulong clientID, int RespawnZone) { + // Get all players in the scene + GameObject[] playableCharacters = GameObject.FindGameObjectsWithTag("Player"); + + // Find our player first + foreach (GameObject character in playableCharacters) { + if (character.GetComponent().OwnerClientId == clientID) { + // Set their zone + character.GetComponent().SetCurrentZone(RespawnZone); + } + } + } + + IEnumerator CoolItDown() { + yield return new WaitForSecondsRealtime(1f); + cooldown = false; + } +} diff --git a/Assets/Scripts/Environment/ResetZonesGlobal.cs.meta b/Assets/Scripts/Environment/ResetZonesGlobal.cs.meta new file mode 100644 index 0000000..d956f1c --- /dev/null +++ b/Assets/Scripts/Environment/ResetZonesGlobal.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6560db454bf09ef49bdb0240a370b8aa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/ResetZones.cs b/Assets/Scripts/PlayerScripts/ResetZones.cs new file mode 100644 index 0000000..4a2bd26 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/ResetZones.cs @@ -0,0 +1,162 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.SceneManagement; +using MLAPI; +using MLAPI.Messaging; +using MLAPI.Exceptions; +using System.Linq; + +public class ResetZones : MonoBehaviour { + + private Transform ValleyRespawnPoint; + private Transform PlainsRespawnPoint; + private Transform FoothillsRespawnPoint; + private Transform MountainRespawnPoint; + + public Transform runnerPrefab; + + private GameObject _runner; + + public enum Zone { + VALLEY, + PLAINS, + FOOTHILLS, + MOUNTAIN + } + + private Zone currentZone; + + + void Start() { + // Make sure we are in the game scene + if (SceneManager.GetActiveScene().buildIndex == 3) { + ValleyRespawnPoint = GameObject.FindGameObjectWithTag("ValleyRespawnPoint").transform; + PlainsRespawnPoint = GameObject.FindGameObjectWithTag("PlainsRespawnPoint").transform; + FoothillsRespawnPoint = GameObject.FindGameObjectWithTag("FoothillsRespawnPoint").transform; + MountainRespawnPoint = GameObject.FindGameObjectWithTag("MountainRespawnPoint").transform; + } + + // Starting zone is the valley + currentZone = Zone.VALLEY; + } + + public void SetCurrentZone(int newZone) { + currentZone = (Zone)newZone; + } + + private Vector3 GetRespawnPosition(Zone zone) { + switch(zone) { + case Zone.PLAINS: + return PlainsRespawnPoint.position; + case Zone.FOOTHILLS: + return FoothillsRespawnPoint.position; + case Zone.MOUNTAIN: + return MountainRespawnPoint.position; + default: + case Zone.VALLEY: + return ValleyRespawnPoint.position; + } + } + + public void RespawnToCheckpoint() { + RespawnPlayerServerRPC(gameObject.transform.root.gameObject.GetComponent().OwnerClientId, GetRespawnPosition(currentZone)); + } + + [ServerRpc(RequireOwnership = false)] + private void RespawnPlayerServerRPC(ulong clientID, Vector3 respawnPos, ServerRpcParams serverRpcParams = default) + { + + // Get all players in the scene + GameObject[] playableCharacters = GameObject.FindGameObjectsWithTag("Player"); + + // Find our player first + foreach (GameObject character in playableCharacters) { + if (character.GetComponent().OwnerClientId == clientID) { + // Player found + + // Despawn them + try { + character.GetComponent().Despawn(true); + } catch (SpawnStateException e) { + Debug.LogError("Spawn State Exception Exception:"); + Debug.LogError(e); + return; + } + + // Spawn the player + if (ServerGameNetPortal.Instance.clientIdToGuid.TryGetValue(clientID, out string clientGuid)) { + if (ServerGameNetPortal.Instance.clientData.TryGetValue(clientGuid, out PlayerData playerData)) { + // Spawn as player + _runner = Instantiate(runnerPrefab, respawnPos, Quaternion.Euler(0, -90, 0)).gameObject; + _runner.GetComponent().SpawnAsPlayerObject(clientID, null, true); + + // Handle Client Spawning Locally + string itemsAsString = string.Join(",", playerData.pInv.NetworkItemList); + StartCoroutine(SpawnClient(clientID, itemsAsString)); + } + } + } + } + } + + // The client respawning needs a slight delay to allow for the spawn to properly sync up + IEnumerator SpawnClient(ulong clientID, string itemsAsString) { + + // First notify the player they are respawning (so we display stuff on screen) + ClientRpcParams clientRpcParams = new ClientRpcParams { + Send = new ClientRpcSendParams { + TargetClientIds = new ulong[] { clientID } + } + }; + + UIRespawningClientRpc(clientID, clientRpcParams); + + // 3 Second Respawn Delay + yield return new WaitForSecondsRealtime(3f); + + // Now actually respawn the player + clientRpcParams = new ClientRpcParams { + Send = new ClientRpcSendParams { + TargetClientIds = new ulong[] { clientID } + } + }; + + SpawnPlayerClientRpc(clientID, itemsAsString, clientRpcParams); + } + + [ClientRpc] + private void UIRespawningClientRpc(ulong clientId, ClientRpcParams clientRpcParams = default) { + GameObject.FindGameObjectWithTag("RunnerHUD").GetComponent().setRespawnPanelVisibility(true); + GameObject.FindGameObjectWithTag("RunnerHUD").GetComponent().countdown_text.enabled = false; + } + + // Spawn in each player + [ClientRpc] + public void SpawnPlayerClientRpc(ulong clientId, string itemsAsString, ClientRpcParams clientRpcParams = default) { + + GameObject[] playableCharacters = GameObject.FindGameObjectsWithTag("Player"); + + foreach (GameObject character in playableCharacters) { + if (character.GetComponent().OwnerClientId == clientId) { + // Rebuild inventory + List itemList = itemsAsString.Split(',').ToList(); + character.GetComponentInChildren().UpdateEquips(itemList, this.gameObject.GetComponent().ItemDict); + + GameHandler.FindGameObjectInChildWithTag(character, "PlayerCam").GetComponent().enabled = true; + GameHandler.FindGameObjectInChildWithTag(character, "PlayerCam").GetComponent().enabled = true; + GameHandler.FindGameObjectInChildWithTag(character, "PlayerCam").GetComponent().enabled = true; + + character.GetComponentInChildren().enabled = true; + character.GetComponentInChildren().enabled = true; + character.GetComponentInChildren().enabled = true; + character.GetComponentInChildren().enabled = true; + character.GetComponentInChildren().enabled = true; + } + } + + // Also turn off the respawning UI and back on the UI for the timer + GameObject.FindGameObjectWithTag("RunnerHUD").GetComponent().setRespawnPanelVisibility(false); + GameObject.FindGameObjectWithTag("RunnerHUD").GetComponent().countdown_text.enabled = true; + } +} diff --git a/Assets/Scripts/PlayerScripts/ResetZones.cs.meta b/Assets/Scripts/PlayerScripts/ResetZones.cs.meta new file mode 100644 index 0000000..b267292 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/ResetZones.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4f942eeaa888c98468c9ad196fb88115 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UI/PauseMenu.cs b/Assets/Scripts/UI/PauseMenu.cs index 4daf898..fdacd4c 100644 --- a/Assets/Scripts/UI/PauseMenu.cs +++ b/Assets/Scripts/UI/PauseMenu.cs @@ -16,6 +16,9 @@ public class PauseMenu : MonoBehaviour { [SerializeField] private GameObject ConfirmationPanel; + [SerializeField] + private GameObject RespawnConfirmationPanel; + [SerializeField] private TMP_Text ControlsHeader; [SerializeField] @@ -29,6 +32,7 @@ public class PauseMenu : MonoBehaviour { PauseMenuPanel.SetActive(false); ControlsPanel.SetActive(false); ConfirmationPanel.SetActive(false); + RespawnConfirmationPanel.SetActive(false); } void Update() { @@ -127,4 +131,24 @@ public class PauseMenu : MonoBehaviour { ControlsText.text = "To-Do: Put the Runner's Controls here"; } } + + public void OnRespawnClicked() { + RespawnConfirmationPanel.SetActive(true); + } + + public void RespawnDecline() { + RespawnConfirmationPanel.SetActive(false); + } + + public void RespawnConfirmed() { + // Disable/Enable player controls + GameObject[] players = GameObject.FindGameObjectsWithTag("Player"); + + foreach (GameObject player in players) { + // Find the local player + if (player.GetComponent().IsLocalPlayer) { + player.GetComponent().RespawnToCheckpoint(); + } + } + } }