Esempio n. 1
0
        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();
            });
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }