using UnityEngine; public static class ProgressTracker { private static bool[] levelCompleteStates = new bool[22]; private static string[] levelNames = new string[] { "Finding The Darkness", "Looking For Something...", "The Unerring Path", "Increased Lux", "Power In The Wrong Place", "Structural Integrity", "Privileged Access", "A Foot In The Door", "Not Alone", "Bob And Weave", "Scanning...", "On The Run", "In Need Of Repairs", "A Slippery Situation", "The Path Of Most Resistance", "Laser Grid Active", "Sightlines", "Time For An Upgrade", "Getting Serious", "Too Many Choices", "A Monument To All Your Sins", "Freedom" }; private static bool goodEndingTriggered; //for level 20 public static void SetTrackerValues() { PlayerPrefs.SetInt("level1", 1); for (int i = 0; i < levelCompleteStates.Length; i++) { if (!PlayerPrefs.HasKey("level" + (i + 1))) PlayerPrefs.SetInt("level" + (i + 1), 0); if (PlayerPrefs.GetInt("level" + (i + 1)) == 1) levelCompleteStates[i] = true; else levelCompleteStates[i] = false; } } public static string GetLevelName(int levelID) { return levelNames[levelID]; } public static void PrintState(int levelID) { Debug.Log(levelCompleteStates[levelID]); } public static bool GetLevelCompleteState(int levelID) { return levelCompleteStates[levelID]; } public static void SetLevelCompleteState(int levelID, bool state) { levelCompleteStates[levelID] = state; if (state) PlayerPrefs.SetInt("level" + (levelID + 1), 1); else PlayerPrefs.SetInt("level" + (levelID + 1), 0); } public static bool GetGoodEndingTriggered() { return goodEndingTriggered; } public static void SetGoodEndingTriggeredState(bool state) { goodEndingTriggered = state; } }