コード例 #1
0
 private void NewLevelHandler(HackLevel level)
 {
     if (level.PlayNodeOnRun)
     {
         RunDialogueNode(level.NodeToPlayOnRun);
     }
 }
コード例 #2
0
        private void SpawnLevel(bool isReset = false)
        {
            if (_currentLevel != null)
            {
                _currentLevel.OnGoalReached -= NextLevel;
                _currentLevel.OnReset       -= resetLevel;
                Destroy(_currentLevel.gameObject);
            }
            HackWindow.Expand(isReset, () =>
            {
                _currentLevel = Instantiate(Levels[_levelIndex]);
                _currentLevel.gameObject.SetActive(true);
                _currentLevel.Initialize(Arguments);
                _currentLevel.OnGoalReached += NextLevel;
                _currentLevel.OnReset       += resetLevel;
                OnNewLevelSpawned?.Invoke(_currentLevel);
                Levels[_levelIndex].PlayNodeOnRun = false;
            });

            void resetLevel()
            {
                SpawnLevel(true);
            }
        }