public static BattlefieldGenerationAsync FinishBattleTransition() { if (GameManager.battlefieldGenerationAsync is null) { throw new InvalidOperationException("There is no battle transition happening."); } doesTransit = false; var battlefieldGenerationAsync = GameManager.battlefieldGenerationAsync; GameManager.battlefieldGenerationAsync = null; return(battlefieldGenerationAsync); }
// Methods. public static void StartBattleTransition(BattlefieldGenerationAsync battlefieldGenerationAsync) { if (battlefieldGenerationAsync is null) { throw new ArgumentNullException(nameof(battlefieldGenerationAsync)); } if (doesTransit) { throw new InvalidOperationException("Transition is already happenning."); } doesTransit = true; GameManager.battlefieldGenerationAsync = battlefieldGenerationAsync; SceneManager.LoadScene(battleSceneName); }