diff options
Diffstat (limited to 'Thronefall_1_57/Decompile/Thronefall/LevelInteractor.cs')
| -rw-r--r-- | Thronefall_1_57/Decompile/Thronefall/LevelInteractor.cs | 231 |
1 files changed, 0 insertions, 231 deletions
diff --git a/Thronefall_1_57/Decompile/Thronefall/LevelInteractor.cs b/Thronefall_1_57/Decompile/Thronefall/LevelInteractor.cs deleted file mode 100644 index 69a0d9c..0000000 --- a/Thronefall_1_57/Decompile/Thronefall/LevelInteractor.cs +++ /dev/null @@ -1,231 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using TMPro; -using UnityEngine; - -public class LevelInteractor : InteractorBase -{ - public static LevelInfo lastActiveLevelInfo; - - private LevelSelectManager levelSelectManager; - - private LevelProgressManager levelProgressManager; - - private LevelData myLevelData; - - [Header("Setup")] - [SerializeField] - private string tooltipThisLevelMustBeBeaten = "Beat <lvlname> to unlock this level."; - - [SerializeField] - private GameObject focusPanel; - - [SerializeField] - private GameObject cantBePlayedPanel; - - [SerializeField] - private TextMeshProUGUI cantBePlayedCue; - - [SerializeField] - private GameObject lockedLevelVisuals; - - [SerializeField] - private GameObject unlockedLevelVisuals; - - [SerializeField] - private GameObject beatenLevelVisuals; - - [SerializeField] - private Transform rewardBuildingsParent; - - [SerializeField] - private TMP_Text questsComplete; - - [SerializeField] - private TextMeshProUGUI challengeName; - - [Header("Colors")] - [SerializeField] - private Color allQuestComplete; - - [SerializeField] - private Color notAllQuestComplete; - - [Header("Level Info")] - public LevelInfo levelInfo; - - public List<Quest> Quests => levelInfo.quests; - - public bool CanBePlayed - { - get - { - if (levelInfo.unlockRequirement != null && !levelInfo.unlockRequirement.Beaten) - { - return false; - } - return true; - } - } - - public string CanNotBePlayedReason - { - get - { - if ((bool)levelInfo.unlockRequirement && !levelInfo.unlockRequirement.Beaten) - { - return tooltipThisLevelMustBeBeaten.Replace("<lvlname>", levelInfo.unlockRequirement.displayName); - } - return ""; - } - } - - public void UpdateVisualsOnStart() - { - if (myLevelData == null) - { - levelProgressManager = LevelProgressManager.instance; - myLevelData = levelProgressManager.GetLevelDataForScene(levelInfo.sceneName); - } - lockedLevelVisuals.SetActive(value: false); - unlockedLevelVisuals.SetActive(value: false); - beatenLevelVisuals.SetActive(value: false); - questsComplete.transform.parent.gameObject.SetActive(value: false); - questsComplete.text = QuestsBeatenString(); - int num = levelInfo.QuestsComplete(); - if (num == levelInfo.QuestsTotal()) - { - AchievementManager.LevelAllQuestsComplete(levelInfo.sceneName); - } - if (myLevelData.beatenBest) - { - AchievementManager.LevelBeaten(levelInfo.sceneName); - } - questsComplete.color = ((num >= levelInfo.QuestsTotal()) ? allQuestComplete : notAllQuestComplete); - float num2 = (float)num / (float)levelInfo.QuestsTotal(); - int enabledBuildings = Mathf.FloorToInt((float)rewardBuildingsParent.childCount * (float)myLevelData.questsCompleteWhenLastVisitingMap); - int num3 = Mathf.FloorToInt((float)rewardBuildingsParent.childCount * num2); - myLevelData.questsCompleteWhenLastVisitingMap = num3; - StartCoroutine(EnableBuildingsCoroutine(enabledBuildings, num3, 0.75f, 0.5f)); - if (challengeName != null) - { - challengeName.text = levelInfo.displaySubtitle; - } - if (!CanBePlayed) - { - lockedLevelVisuals.SetActive(value: true); - return; - } - questsComplete.transform.parent.gameObject.SetActive(value: true); - if (!levelInfo.Beaten) - { - unlockedLevelVisuals.SetActive(value: true); - } - else - { - beatenLevelVisuals.SetActive(value: true); - } - } - - private IEnumerator EnableBuildingsCoroutine(int _enabledBuildings, int _enabledBuildingsUpTo, float _initialDelay, float _interval) - { - if (rewardBuildingsParent.childCount < _enabledBuildingsUpTo) - { - Debug.LogWarning("Not enough children in the rewardBuildingsParent to satisfy enabledBuildingsUpTo"); - yield break; - } - if (rewardBuildingsParent.childCount < _enabledBuildings) - { - Debug.LogWarning("Not enough children in the rewardBuildingsParent to satisfy enabledBuildings"); - yield break; - } - for (int j = 0; j < rewardBuildingsParent.childCount; j++) - { - rewardBuildingsParent.GetChild(j).gameObject.SetActive(value: false); - } - for (int k = 0; k < _enabledBuildings; k++) - { - rewardBuildingsParent.GetChild(k).gameObject.SetActive(value: true); - } - yield return new WaitForSeconds(_initialDelay); - for (int i = _enabledBuildings; i < _enabledBuildingsUpTo; i++) - { - rewardBuildingsParent.GetChild(i).gameObject.SetActive(value: true); - rewardBuildingsParent.GetChild(i).GetChild(0).gameObject.SetActive(value: true); - yield return new WaitForSeconds(_interval); - } - } - - private void Start() - { - levelSelectManager = GetComponentInParent<LevelSelectManager>(); - levelProgressManager = LevelProgressManager.instance; - myLevelData = levelProgressManager.GetLevelDataForScene(levelInfo.sceneName); - focusPanel.SetActive(value: false); - cantBePlayedPanel.SetActive(value: false); - UpdateVisualsOnStart(); - } - - public override string ReturnTooltip() - { - if (CanBePlayed) - { - return TextTranslator.Translate("Menu/Level Interactor Cue"); - } - return ""; - } - - private string GenerateCueText() - { - if (!CanBePlayed) - { - return CanNotBePlayedReason; - } - if (levelSelectManager.PreLevelMenuIsOpen) - { - return ""; - } - return levelInfo.displayName; - } - - public override void InteractionBegin(PlayerInteraction _player) - { - if (CanBePlayed) - { - lastActiveLevelInfo = levelInfo; - UIFrameManager.TryOpenLevelSelect(); - } - } - - public override void Focus(PlayerInteraction _player) - { - if (CanBePlayed) - { - focusPanel.SetActive(value: true); - cantBePlayedPanel.SetActive(value: false); - if (challengeName != null) - { - challengeName.text = levelInfo.displaySubtitle; - } - return; - } - cantBePlayedCue.text = GenerateCueText(); - cantBePlayedPanel.SetActive(value: true); - focusPanel.SetActive(value: false); - if (challengeName != null) - { - challengeName.text = levelInfo.displaySubtitle; - } - } - - public override void Unfocus(PlayerInteraction _player) - { - focusPanel.SetActive(value: false); - cantBePlayedPanel.SetActive(value: false); - } - - public string QuestsBeatenString() - { - return levelInfo.QuestsComplete() + "/" + levelInfo.QuestsTotal(); - } -} |
