// called to begin transition to new level, when current level is complete public void GoToNextLevel() { if (levelNamesIndex >= levelNames.Length - 1) // if I'm on the last level { Debug.Log("All levels complete."); OnAllLevelsComplete.Invoke(this); return; } player.rb.isKinematic = true; currentLevel.player = null; // get difference between start and current pose playerSlide = loadedLevel.GetStartPoint().position + Vector3.up * levelSeparationDistance - player.transform.position; Debug.Log("Going to level " + loadedScene.name + " from " + currentScene.name); if (!nextLevelReady) { // wait for level load Debug.Log("Waiting for next level to load..."); OnLevelLoaded.AddListener(WaitForLoad); return; } levelProgess = 0f; levelTransition = true; }
public void LevelCompleteEventCall() { LevelCompleteEvent?.Invoke(); }
public static void LevelCompleteEventInvoke() { LevelCompleteEvent.Invoke(); }