示例#1
0
        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;
        }
示例#2
0
 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);
    }
示例#4
0
    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;
        }
    }
示例#5
0
 private void TokenListener_AllCollected(TokenListener tokenListener)
 {
     GameController.LoadMainMenu();
 }