From 729c9e5b461966381af7c2464712fb8a23a6f4aa Mon Sep 17 00:00:00 2001 From: Neil Kollack Date: Sun, 17 Apr 2022 17:48:05 -0500 Subject: feat: pause menu + level complete zone --- Assets/Scripts/Actors/Actor.cs | 12 ++++++++++++ Assets/Scripts/Actors/Player.cs | 6 ++++-- Assets/Scripts/EndLevel.cs | 15 +++++++++++++++ Assets/Scripts/EndLevel.cs.meta | 11 +++++++++++ Assets/Scripts/Items/Whip.cs | 8 ++++---- Assets/Scripts/LevelController.cs | 11 +++++++++++ Assets/Scripts/PauseMenu.cs | 31 +++++++++++++++++++++++++++++++ Assets/Scripts/PauseMenu.cs.meta | 11 +++++++++++ 8 files changed, 99 insertions(+), 6 deletions(-) create mode 100644 Assets/Scripts/EndLevel.cs create mode 100644 Assets/Scripts/EndLevel.cs.meta create mode 100644 Assets/Scripts/PauseMenu.cs create mode 100644 Assets/Scripts/PauseMenu.cs.meta (limited to 'Assets/Scripts') diff --git a/Assets/Scripts/Actors/Actor.cs b/Assets/Scripts/Actors/Actor.cs index 6b82060..30721a5 100644 --- a/Assets/Scripts/Actors/Actor.cs +++ b/Assets/Scripts/Actors/Actor.cs @@ -128,6 +128,18 @@ namespace MontanaJohns.Actors this.grapplePoint = grapplePoint; } + public virtual void Cancel() + { + if (PauseMenu.isPaused) + { + PauseMenu.Resume(); + } + else + { + PauseMenu.Pause(); + } + } + public virtual void AddItem(Item item) { items.Add(item); diff --git a/Assets/Scripts/Actors/Player.cs b/Assets/Scripts/Actors/Player.cs index 8ba1daf..589d661 100644 --- a/Assets/Scripts/Actors/Player.cs +++ b/Assets/Scripts/Actors/Player.cs @@ -16,22 +16,24 @@ namespace MontanaJohns.Actors private Camera _camera; private PlayerInput playerInput; - private InputAction use, move, jump, attack; + private InputAction use, move, jump, attack, cancel; protected override void Awake() { base.Awake(); _camera = FindObjectOfType(); playerInput = GetComponent(); + use = move = jump = attack = cancel = null; move = playerInput.currentActionMap.FindAction("Move"); jump = playerInput.currentActionMap.FindAction("Jump"); attack = playerInput.currentActionMap.FindAction("Attack"); use = playerInput.currentActionMap.FindAction("Use"); + cancel = playerInput.currentActionMap.FindAction("Cancel"); jump.started += context => Jump(); - use.started += context => Use(); attack.started += context => Fire(); + cancel.started += context => Cancel(); } protected override void Start() diff --git a/Assets/Scripts/EndLevel.cs b/Assets/Scripts/EndLevel.cs new file mode 100644 index 0000000..6b7940c --- /dev/null +++ b/Assets/Scripts/EndLevel.cs @@ -0,0 +1,15 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.SceneManagement; + +public class EndLevel : MonoBehaviour +{ + private void OnTriggerEnter2D(Collider2D collision) + { + if(collision.gameObject.tag == "Player") + { + SceneManager.LoadScene("Final Scene"); + } + } +} diff --git a/Assets/Scripts/EndLevel.cs.meta b/Assets/Scripts/EndLevel.cs.meta new file mode 100644 index 0000000..676312e --- /dev/null +++ b/Assets/Scripts/EndLevel.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 85de3120dc690fb4da15e76adf6d467b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Items/Whip.cs b/Assets/Scripts/Items/Whip.cs index 5e433f3..b826794 100644 --- a/Assets/Scripts/Items/Whip.cs +++ b/Assets/Scripts/Items/Whip.cs @@ -41,12 +41,12 @@ namespace MontanaJohns.Items ropeExists = true; if (LayerMask.LayerToName(collisionGameObject.layer) == "Grapple") { - currentHook = Instantiate(hook, clickLocation, Quaternion.identity); + currentHook = Instantiate(hook, collisionGameObject.transform.position, Quaternion.identity); return clickLocation; } else { - StartCoroutine(WhipSmack(collisionGameObject, clickLocation)); + StartCoroutine(WhipSmack(collisionGameObject)); } } return null; @@ -59,9 +59,9 @@ namespace MontanaJohns.Items } } - private IEnumerator WhipSmack(GameObject collisionGameObject, Vector2 clickLocation) + private IEnumerator WhipSmack(GameObject collisionGameObject) { - currentHook = Instantiate(hookNoSwing, clickLocation, Quaternion.identity); + currentHook = Instantiate(hookNoSwing, collisionGameObject.transform.position, Quaternion.identity); collisionGameObject.GetComponent().TakeDamage(player.GetComponent().stats.damage); yield return new WaitForSeconds(0.1f); Destroy(currentHook); diff --git a/Assets/Scripts/LevelController.cs b/Assets/Scripts/LevelController.cs index 1b8bd47..7113fe8 100644 --- a/Assets/Scripts/LevelController.cs +++ b/Assets/Scripts/LevelController.cs @@ -16,6 +16,17 @@ public class LevelController : MonoBehaviour SceneManager.LoadScene("Jungle"); } + public void QuitGame() + { + Application.Quit(); + } + + + public static void LoadMenu() + { + SceneManager.LoadScene("Start Scene"); + } + public void ResetLevel() { //Destroy diff --git a/Assets/Scripts/PauseMenu.cs b/Assets/Scripts/PauseMenu.cs new file mode 100644 index 0000000..ba246c4 --- /dev/null +++ b/Assets/Scripts/PauseMenu.cs @@ -0,0 +1,31 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class PauseMenu : MonoBehaviour +{ + [SerializeField] private GameObject pauseMenuUI; + + private static GameObject _pauseMenuUI; + + public static bool isPaused; + + private void Awake() + { + _pauseMenuUI = pauseMenuUI; + } + + public static void Resume() + { + _pauseMenuUI.SetActive(false); + Time.timeScale = 1f; + isPaused = false; + } + + public static void Pause() + { + _pauseMenuUI.SetActive(true); + Time.timeScale = 0f; + isPaused = true; + } +} diff --git a/Assets/Scripts/PauseMenu.cs.meta b/Assets/Scripts/PauseMenu.cs.meta new file mode 100644 index 0000000..5fb58db --- /dev/null +++ b/Assets/Scripts/PauseMenu.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3685c9ea49084bd47974e64833208e4a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: -- cgit v1.2.3-70-g09d2