diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity index 4d0d9f491888f041e8e1e7439f893ed15e76b4c1..9f6ebfbd5b8616a21474516b97d27777dd55205b 100644 --- a/Assets/Scenes/Main.unity +++ b/Assets/Scenes/Main.unity @@ -453,6 +453,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1979757894} + - {fileID: 319427844} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -928,6 +929,82 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: -10} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &319427843 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 319427844} + - component: {fileID: 319427846} + - component: {fileID: 319427845} + m_Layer: 5 + m_Name: MessagePanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &319427844 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 319427843} + 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: 1450394197} + m_Father: {fileID: 244922607} + 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 &319427845 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 319427843} + 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: 0.392} + 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!222 &319427846 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 319427843} + m_CullTransparentMesh: 1 --- !u!1 &325982112 GameObject: m_ObjectHideFlags: 0 @@ -2921,6 +2998,85 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b4f43bf66218c874d871d02802b6a2db, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &1450394196 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1450394197} + - component: {fileID: 1450394199} + - component: {fileID: 1450394198} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1450394197 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1450394196} + 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: 319427844} + 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: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1450394198 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1450394196} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: New Text +--- !u!222 &1450394199 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1450394196} + m_CullTransparentMesh: 1 --- !u!1 &1575011243 GameObject: m_ObjectHideFlags: 0 @@ -3359,6 +3515,7 @@ GameObject: - component: {fileID: 1796129602} - component: {fileID: 1796129604} - component: {fileID: 1796129605} + - component: {fileID: 1796129608} m_Layer: 0 m_Name: Managers m_TagString: Untagged @@ -3428,6 +3585,18 @@ MonoBehaviour: size: 10 parentingGroup: {fileID: 1222083999} expandable: 1 +--- !u!114 &1796129608 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1796129601} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4ff677c124d78674988964b59f11fec4, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &1837071935 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Player/PlayerHealth.cs b/Assets/Scripts/Player/PlayerHealth.cs index 497dbddf1cbaef488a185f36942225b4bd3187d8..0c603cfd9f147e79593cb59a337da5c6307a2ed9 100644 --- a/Assets/Scripts/Player/PlayerHealth.cs +++ b/Assets/Scripts/Player/PlayerHealth.cs @@ -14,7 +14,6 @@ namespace Nightmare public AudioClip deathClip; public float flashSpeed = 5f; public Color flashColour = new Color(1f, 0f, 0f, 0.1f); - public bool godMode = false; Animator anim; AudioSource playerAudio; @@ -23,6 +22,9 @@ namespace Nightmare bool isDead; bool damaged; + // Cheat No Damage + public bool isCheatNoDamage = false; + void Awake() { // Setting up the references. @@ -68,7 +70,7 @@ namespace Nightmare public void TakeDamage(int amount) { - if (godMode) + if (isCheatNoDamage) return; // Set the damaged flag so the screen will flash. @@ -115,5 +117,11 @@ namespace Nightmare { EventManager.TriggerEvent("GameOver"); } + + // Activate or deactivate cheat no damage + public void SetCheatNoDamage(bool isActive) + { + isCheatNoDamage = isActive; + } } } \ No newline at end of file diff --git a/Assets/Scripts/Player/PlayerMovement.cs b/Assets/Scripts/Player/PlayerMovement.cs index 36201d28c73b52876629632167c8316b9c02568a..c33ccfce3247c31777603764a8ff4a083d066a74 100644 --- a/Assets/Scripts/Player/PlayerMovement.cs +++ b/Assets/Scripts/Player/PlayerMovement.cs @@ -7,6 +7,7 @@ namespace Nightmare public class PlayerMovement : PausibleObject { public float speed = 6f; // The speed that the player will move at. + public float prevSpeed; // For twice speed cheat purpose Vector3 movement; // The vector to store the direction of the player's movement. @@ -28,6 +29,9 @@ namespace Nightmare anim = GetComponent <Animator> (); playerRigidbody = GetComponent <Rigidbody> (); + // Set prev speed to speed + prevSpeed = speed; + StartPausible(); } @@ -123,5 +127,20 @@ namespace Nightmare // Tell the animator whether or not the player is walking. anim.SetBool ("IsWalking", walking); } + + // Reset speed to default + public void ResetSpeed() + { + this.speed = 6f; // Back to default + } + + // Activate twice speed cheat + public void ActivateCheatXTwoSpeed() + { + if (this.speed * 2 > prevSpeed * 2) + return; + this.speed *= 2; + } + } } \ No newline at end of file diff --git a/Packages/manifest.json b/Packages/manifest.json index 27be6025ab3e16967e359e506380cafc40867297..731c40e02883f9f87a99958a334acef8d2554d6b 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -2,6 +2,7 @@ "dependencies": { "com.unity.collab-proxy": "2.3.1", "com.unity.feature.development": "1.0.1", + "com.unity.nuget.newtonsoft-json": "3.2.1", "com.unity.textmeshpro": "3.0.6", "com.unity.timeline": "1.7.6", "com.unity.ugui": "1.0.0", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 6cdad5f6aa31e0654818e5b0d96e39cd6ad98093..6ad5838dcbb0ff3ff0c2096a82be22200c5025de 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -60,6 +60,13 @@ "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.nuget.newtonsoft-json": { + "version": "3.2.1", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, "com.unity.performance.profile-analyzer": { "version": "1.2.2", "depth": 1,