public async UniTask ReturnAsync() { await _transition.FadeInAsync(_transitionDuration / 2f); if (_currentScreen != null) { _currentScreen.Hide(); } _currentScreen = null; await _transition.FadeOutAsync(_transitionDuration / 2f); }
/// <summary> /// Transitions to the given <paramref name="screen"/> asynchronously. /// </summary> /// <param name="screen">The screen to transition to.</param> /// <returns>A task to be awaited representing the fade transition.</returns> private async UniTask TransitionToAsync(Screen screen) { await _transition.FadeInAsync(_transitionDuration / 2f); if (_currentScreen != null) { _currentScreen.Hide(); } screen.Show(); _currentScreen = screen; await _transition.FadeOutAsync(_transitionDuration / 2f); }
private void StartMatch(MatchSettings settings) { OnStartMatch?.Invoke(settings); _currentScreen = null; }