Exemplo n.º 1
0
        private void submitScore()
        {
            var score = base.CreateScore();

            score.TotalScore = (int)Math.Round(ScoreProcessor.GetStandardisedScore());

            Debug.Assert(token != null);

            var request = new SubmitRoomScoreRequest(token.Value, room.RoomID.Value ?? 0, playlistItemId, score);

            request.Failure += e => Logger.Error(e, "Failed to submit score");
            api.Queue(request);
        }
        protected override ScoreInfo CreateScore()
        {
            var score = base.CreateScore();

            score.TotalScore = (int)Math.Round(ScoreProcessor.GetStandardisedScore());

            Debug.Assert(token != null);

            var request = new SubmitRoomScoreRequest(token.Value, roomId.Value ?? 0, playlistItem.ID, score);

            request.Success += s => score.OnlineScoreID = s.ID;
            request.Failure += e => Logger.Error(e, "Failed to submit score");
            api.Queue(request);

            return(score);
        }
Exemplo n.º 3
0
        protected override async Task SubmitScore(Score score)
        {
            await base.SubmitScore(score);

            Debug.Assert(Token != null);

            var tcs     = new TaskCompletionSource <bool>();
            var request = new SubmitRoomScoreRequest(Token.Value, RoomId.Value ?? 0, PlaylistItem.ID, score.ScoreInfo);

            request.Success += s =>
            {
                score.ScoreInfo.OnlineScoreID = s.ID;
                tcs.SetResult(true);
            };

            request.Failure += e =>
            {
                Logger.Error(e, "Failed to submit score");
                tcs.SetResult(false);
            };

            api.Queue(request);
            await tcs.Task;
        }