using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using TMPro; public class GameSession : MonoBehaviour { [SerializeField] public int playerLives = 3; [SerializeField] public int score = 0; [SerializeField] public TextMeshProUGUI livesText; [SerializeField] public TextMeshProUGUI scoreText; MinerMovement minerMovement; GameManager gameManager; ReplayScreen replayScreen; void Awake() { int numGameSessions = FindObjectsOfType().Length; if (numGameSessions > 1) { Destroy(gameObject); } else { DontDestroyOnLoad(gameObject); } } public void Start() { minerMovement = FindObjectOfType(); gameManager = FindObjectOfType(); livesText.text = playerLives.ToString(); scoreText.text = score.ToString(); } public void ProcessPlayerDeath() { if (playerLives > 0) { TakeLife(); } if (playerLives == 0) { gameManager.ReplayScreenActivation(); } } public void AddToScore(int pointsToAdd) { score += pointsToAdd; scoreText.text = score.ToString(); print(scoreText.text); } void TakeLife() { playerLives = playerLives - 1; livesText.text = playerLives.ToString(); if (playerLives > 0) { int currentSceneIndex = SceneManager.GetActiveScene().buildIndex; SceneManager.LoadScene(currentSceneIndex); } } public void ResetGameSession() { FindObjectOfType().ResetScenePersist(); SceneManager.LoadScene(0); Destroy(gameObject); } }