diff options
Diffstat (limited to 'Thronefall_1_57/Thronefall/Thronefall/EternalTrialsRunManager.cs')
| -rw-r--r-- | Thronefall_1_57/Thronefall/Thronefall/EternalTrialsRunManager.cs | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/Thronefall_1_57/Thronefall/Thronefall/EternalTrialsRunManager.cs b/Thronefall_1_57/Thronefall/Thronefall/EternalTrialsRunManager.cs deleted file mode 100644 index 84acacf..0000000 --- a/Thronefall_1_57/Thronefall/Thronefall/EternalTrialsRunManager.cs +++ /dev/null @@ -1,214 +0,0 @@ -using System; -using System.IO; -using UnityEngine; - -public class EternalTrialsRunManager : MonoBehaviour -{ - public static readonly string[] mapRotation = new string[5] { "Nordfels", "Durststein", "Frostsee", "Uferwind", "Sturmklamm" }; - - public const int STAGE_SCORE_MULTIPLIER = 1000; - - private static EternalTrialsRun currentRun; - - private static EternalTrialsRun lastDiscardedRun; - - private static int freshRunSeed = 0; - - private static string SavePath => Application.persistentDataPath + "/EternalTrials_V2.json"; - - public static EternalTrialsRun CurrentRun - { - get - { - if (currentRun == null) - { - currentRun = TryLoadRun(); - } - if (currentRun == null) - { - CreateFreshRun(); - } - return currentRun; - } - } - - public static EternalTrialsRun LastDiscardedRun => lastDiscardedRun; - - public static bool HasOngoingRun - { - get - { - if (CurrentRun.stage > 0 || CurrentRun.inGame) - { - return !CurrentRun.runComplete; - } - return false; - } - } - - public static void SaveRun(EternalTrialsRun runToSave) - { - try - { - CurrentRun.LoadoutToStringsForSaving(); - string contents = JsonUtility.ToJson(runToSave); - File.WriteAllText(SavePath, contents); - } - catch - { - Debug.LogError("There has been an error while trying to save the Eternal Trials run config."); - } - } - - public static EternalTrialsRun TryLoadRun() - { - freshRunSeed = PlayerPrefs.GetInt("EternalTrials_FreshRunSeed"); - if (freshRunSeed == 0) - { - GenerateNewFreshRunSeed(); - } - try - { - if (File.Exists(SavePath)) - { - EternalTrialsRun eternalTrialsRun = JsonUtility.FromJson<EternalTrialsRun>(File.ReadAllText(SavePath)); - eternalTrialsRun.SavedStringsToLoadout(); - Debug.Log("Eternal Trials run loaded."); - return eternalTrialsRun; - } - return null; - } - catch - { - Debug.Log("There has been an error while trying to load the Eternal Trials Run."); - return null; - } - } - - public static void GenerateNewFreshRunSeed() - { - freshRunSeed = new System.Random().Next(int.MinValue, int.MaxValue); - PlayerPrefs.SetInt("EternalTrials_FreshRunSeed", freshRunSeed); - } - - public static void DiscardActiveRun() - { - if (HasOngoingRun) - { - lastDiscardedRun = CurrentRun; - } - } - - public static void RetrieveLastDiscardedRun() - { - if ((!(SceneTransitionManager.instance != null) || !SceneTransitionManager.instance.SceneTransitionIsRunning) && lastDiscardedRun != null) - { - currentRun = lastDiscardedRun; - } - } - - public static void OnVictory() - { - string text = ""; - CurrentRun.stage++; - AchievementManager.UnlockEternalTrialsAchievementForBeating(CurrentRun.stage); - for (int i = 0; i < mapRotation.Length; i++) - { - if (mapRotation[i] == CurrentRun.currentMap) - { - int num = i + 1; - if (num >= mapRotation.Length) - { - num = 0; - } - text = mapRotation[num]; - } - } - if (text.Length <= 0) - { - Debug.Log("Current map not found in map rotation. Loading first map in rotation"); - text = mapRotation[0]; - } - CurrentRun.currentMap = text; - CurrentRun.currentStageSeed = new System.Random().Next(int.MinValue, int.MaxValue); - CurrentRun.inGame = false; - CurrentRun.inNight = false; - SaveRun(CurrentRun); - GenerateNewFreshRunSeed(); - } - - public static void OnDefeat() - { - CurrentRun.runComplete = true; - CurrentRun.inGame = false; - CurrentRun.inNight = false; - SaveRun(CurrentRun); - GenerateNewFreshRunSeed(); - } - - public static void LoadNextMap() - { - for (int num = PerkManager.instance.CurrentlyEquipped.Count - 1; num >= 0; num--) - { - PerkManager.SetEquipped(PerkManager.instance.CurrentlyEquipped[num], _equipped: false); - } - foreach (EquippablePerk acquiredPerk in CurrentRun.acquiredPerks) - { - if (acquiredPerk as EquippablePerk != null) - { - if (!CurrentRun.disabledPerks.Contains(acquiredPerk as EquippablePerk)) - { - PerkManager.SetEquipped(acquiredPerk, _equipped: true); - } - } - else - { - PerkManager.SetEquipped(acquiredPerk, _equipped: true); - } - } - PerkManager.SetEquipped(CurrentRun.currentWeapon, _equipped: true); - SceneTransitionManager.instance.TransitionFromNullToLevel(CurrentRun.currentMap); - } - - public static void CreateFreshRun() - { - currentRun = new EternalTrialsRun(mapRotation[0], freshRunSeed); - } - - public static MapChoice[] GetMapChoices() - { - System.Random random = new System.Random(CurrentRun.currentStageSeed); - MapChoice[] array = new MapChoice[3]; - string[] array2 = (string[])mapRotation.Clone(); - array2.ETShuffle(random); - for (int i = 0; i < array.Length; i++) - { - if (i < array2.Length) - { - array[i] = MapChoice.GenerateNewMapChoice(2, array2[i], random, i); - } - else - { - array[i] = MapChoice.GenerateNewMapChoice(2, mapRotation[random.Next(0, mapRotation.Length)], random, i); - } - } - return array; - } - - public static void ConfirmChoice(MapChoice choice) - { - CurrentRun.currentMap = choice.mapName; - CurrentRun.acquiredPerks.AddRange(choice.containedPerks); - CurrentRun.currentWeapon = choice.containedWeapon; - CurrentRun.inGame = true; - CurrentRun.currentStageSeed += choice.id; - SaveRun(CurrentRun); - GenerateNewFreshRunSeed(); - } - - public static void AddScore(int amount) - { - CurrentRun.score += amount; - SaveRun(CurrentRun); - } -} |
