private void NewLevelHandler(HackLevel level) { if (level.PlayNodeOnRun) { RunDialogueNode(level.NodeToPlayOnRun); } }
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); } }