private async Task TryGetToken(TokenListener tokenListener) { _loginTask = _loginTask ?? _internalAuthService.LoginWithXToken(_userInfo.Xtoken); Union3 <UserInfo, LoginErrorDto, Exception> loginResult = await _loginTask; loginResult.Match(userInfo => { _userInfo.Token = userInfo.Token; _userInfo.Uid = userInfo.Uid; tokenListener.OnTokenReceived(_userInfo.Token); }, error => { tokenListener.OnTokenRefreshFailed(error.Error); AppAnalytics.Instance.TrackError(error.ErrorDescription); }, ex => { tokenListener.OnTokenRefreshFailed(ex.Message); AppAnalytics.Instance.TrackError(ex); }); _loginTask = null; }
public async void RequestToken(TokenListener tokenListener) { if (!string.IsNullOrWhiteSpace(_userInfo.Token)) { tokenListener.OnTokenReceived(_userInfo.Token); } else { await TryGetToken(tokenListener); } }
protected override void OnInitialize() { base.OnInitialize(); if (_canvas == null) { Debug.LogError("HUD must have a Canvas assigned."); return; } _hudElements = new List <IHUDWorldElement>(); _hudElements.Add(_hudPopups); _hudElements.Add(_hudInteractableArea); _hudElements.ForEach(x => x.Initialize(_canvas)); // Listen for the World to be spawned. _tokenListener = FindObjectOfType <TokenListener>(); _tokenListener.TokensChanged += UpdateTokenHUD; // Get existing Token Data. UpdateTokenHUD(_tokenListener.TokenData); }
protected override void OnLevelStart() { base.OnLevelStart(); var player = FindObjectOfType <Player>(); // Find the tracking camera which causes the camera to follow a target. var trackingCamera = FindObjectOfType <CameraControllerTracking2D>(); trackingCamera.SetTarget(player.gameObject); // Set our camera's controller so it starts tracking the player. var camera = FindObjectOfType <GameCamera>(); camera.SetController(trackingCamera); // Hook into the TokenListener's AllCollected event. _tokenListener = FindObjectOfType <TokenListener>(); if (_tokenListener != null) { _tokenListener.AllCollected += TokenListener_AllCollected; } }
private void TokenListener_AllCollected(TokenListener tokenListener) { GameController.LoadMainMenu(); }