summaryrefslogtreecommitdiff
path: root/Thronefall_1_57/Decompile/Thronefall/LevelInteractor.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2024-05-19 17:03:57 +0800
committerchai <215380520@qq.com>2024-05-19 17:03:57 +0800
commitcf58771365b5953c6eac548b172aae880d1f0acd (patch)
treea49757a4b5c447cbf877584d482367a6bfe33b10 /Thronefall_1_57/Decompile/Thronefall/LevelInteractor.cs
parenteed315deae356ddfb17f28305e7cde6cdfc43313 (diff)
* rename
Diffstat (limited to 'Thronefall_1_57/Decompile/Thronefall/LevelInteractor.cs')
-rw-r--r--Thronefall_1_57/Decompile/Thronefall/LevelInteractor.cs231
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();
- }
-}