using System; using System.Collections; using TMPro; using UnityEngine; using UnityEngine.UI; public class ProgressTracker : MonoBehaviour { public PlayerStats player; public GameObject tableSecond; public GameObject bedSecond; public GameObject bedThird; public int interactedWithToday; public bool gotFood = false; public bool interactedWithTable = false; public bool interactedWithBed = false; public bool hasInteractedWithDay2Wall = false; public string playerName; public bool dayHasEnded = false; public TMP_InputField nameInputField; public GameObject nameInputPanel; public TMP_Text playerNameText; public string[] wallAfterNameTexts; public InteractableText wallInteractablle; public bool interactedWithDay4Food; public bool foodYes; public bool knifeYes; public bool drown; private void Start() { DontDestroyOnLoad(this); } private void Update() { switch (player.dayNumber) { case 1: if (interactedWithToday == 8) { bedSecond.SetActive(false); bedThird.SetActive(true); } else if (interactedWithToday == 9) { interactedWithToday = 0; dayHasEnded = true; } break; case 2: if (interactedWithToday == 8) { bedSecond.SetActive(false); bedThird.SetActive(true); } else if (interactedWithToday == 9) { interactedWithToday = 0; dayHasEnded = true; } break; case 3: if (interactedWithToday == 8) { bedSecond.SetActive(false); bedThird.SetActive(true); } else if (interactedWithToday == 9) { interactedWithToday = 0; dayHasEnded = true; } break; } if (interactedWithTable && gotFood) { tableSecond.SetActive(true); interactedWithTable = false; gotFood = false; } if (interactedWithBed && interactedWithToday != 8) { bedSecond.SetActive(true); interactedWithBed = false; } } public void SetName() { StartCoroutine(NameInputRoutine()); } private IEnumerator NameInputRoutine() { nameInputPanel.SetActive(true); nameInputField.text = ""; nameInputField.characterLimit = 5; nameInputField.ActivateInputField(); bool nameSet = false; while (!nameSet) { if (Input.GetKeyDown(KeyCode.Return) || Input.GetKeyDown(KeyCode.KeypadEnter)) { string inputName = nameInputField.text; if (!string.IsNullOrEmpty(inputName)) { playerName = inputName; nameSet = true; } } yield return null; } nameInputPanel.SetActive(false); playerNameText.text = playerName; wallAfterNameTexts[0] = playerName + "!"; wallInteractablle.ShowDialogue(wallAfterNameTexts); } }