public override void Show(Action onFinish) { base.Show(() => { viewManager.dialoguePanel.SetActive(false); viewManager.StopAllAnimations(); gameState.ResetGameState(); if (bgmController != null && !string.IsNullOrEmpty(bgmName)) { bgmController.scriptVolume = bgmVolume; bgmController.Play(bgmName); } if (configManager.GetInt(SelectChapterFirstShownKey) == 0) { var unlockedChapterCount = gameState.GetAllUnlockedStartNodeNames().Count; var reachedChapterCount = gameState.GetAllStartNodeNames() .Count(name => checkpointManager.IsReachedAnyHistory(name, 0)); if (unlockedChapterCount == 1 && reachedChapterCount > 1) { Alert.Show(I18n.__("title.first.selectchapter")); configManager.SetInt(SelectChapterFirstShownKey, 1); } } onFinish?.Invoke(); }); }
protected override void Awake() { base.Awake(); var controller = Utils.FindNovaGameController(); gameState = controller.GameState; checkpointManager = controller.CheckpointManager; // TODO: customize the order of chapters startNodeNames = gameState.GetAllStartNodeNames().OrderBy(x => x).ToArray(); unlockedStartNodeNames = gameState.GetAllUnlockedStartNodeNames(); returnButton.onClick.AddListener(Hide); }
protected override void Awake() { base.Awake(); var controller = Utils.FindNovaGameController(); gameState = controller.GameState; checkpointManager = controller.CheckpointManager; logController = viewManager.GetController <LogController>(); nameSorter = GetComponent <NameSorter>(); startNodeNames = gameState.GetAllStartNodeNames(); if (nameSorter && nameSorter.matchers.Count > 0) { startNodeNames = nameSorter.Sort(startNodeNames).ToList(); } unlockedStartNodeNames = gameState.GetAllUnlockedStartNodeNames(); returnButton.onClick.AddListener(Hide); }