public PlayResponse Add(PlayRequest request) { var playResponse = new PlayResponse(); playResponse.Sum = request.A + request.B; return(playResponse); }
public async Task <PlayResponse> ChamarSpotifyApi(PlayRequest playRequest) { // Gera token de acesso string token = await GerarTokenAcesso(); // Cria objeto de conexao com spotify-api RestClient api = new RestClient(); api.AddDefaultHeader("Authorization", "Bearer " + token); // Cria body-request para enviar para spotify-api RestRequest request = new RestRequest(URL_SPOTIFY_PLAY, Method.PUT); request.AddJsonBody(new SpotifyPlayRequest(playRequest.MusicaURI)); // Chama spotify-api verbo PUT IRestResponse spotifyResponse = await api.ExecuteAsync(request); // Se api expirou, reseta token if (spotifyResponse.StatusCode == HttpStatusCode.Unauthorized) { TOKEN = string.Empty; } // Cria objeto reponse PlayResponse response = new PlayResponse((int)spotifyResponse.StatusCode, spotifyResponse.Content); return(response); }
public PlayResponse Execute(PlayRequest PlayRequest) { _currentPlayer = ((_currentPlayer != null) && _currentPlayer.Equals(_realPlayer1)) ? _realPlayer2 : _realPlayer1; PlayResponse response = _currentPlayer.Play(PlayRequest); return(response); }
public async override Task ExecuteAsync(SlarkContext context) { var request = context.Message as PlayRequest; if (context.Server is PlayGameServer gameServer) { request.TryGet <string>("cid", "", out string cid); gameServer.Rooms.TryGet(r => r.Id == cid, out PlayRoom room); if (room != null) { context.HasNotice = true; var tuple = await room.NewPlayerJoinAsync(request, context.Sender); context.Response = tuple.Item1.MetaText; context.Notice = tuple.Item2.MetaText; context.Receivers = room.AvailableConnections; } } else if (context.Server is PlayLobbyServer lobby) { var responseBody = new Dictionary <string, object>() { { "cmd", this.Command }, { "op", "added" }, { "i", request.CommandId }, }; var joinRequest = JsonConvert.DeserializeObject <RoomJoinRequest>(request.MetaText); var tuple = await lobby.MatchAsync(joinRequest); if (tuple.Item1 != null) { var gs = tuple.Item1; responseBody.Add("addr", gs.ClientConnectionUrl); responseBody.Add("secureAddr", gs.ClientConnectionUrl); } if (tuple.Item2 != null) { var room = tuple.Item2; responseBody.Add("cid", room.Id); responseBody.Add("open", room.IsOpen); responseBody.Add("m", room.MemberIds); responseBody.Add("memberIds", room.ActorIds); responseBody.Add("visible", room.IsVisible); responseBody.Add("maxMembers", room.MaxPlayerCount); } var response = new PlayResponse(responseBody); response.Timestamplize(); response.SerializeBody(); context.Response = response.MetaText; } }
public override Response DoWork(string request) { var workRequest = JsonConvert.DeserializeObject<PlayRequest>(request); var workResponse = new PlayResponse(); User user; workResponse.Status = Server.PlayersQue.TryRemove(workRequest.UserName, out user) ? Statuses.Ok : Statuses.NoUser; return workResponse; }
public DataResponse <PlayResponse> ReloadDialogue(PlayResponse playResponse) { return(Do(() => { playResponse.Dialogue = _service.GetOne(playResponse.Dialogue.Id); return new DataResponse <PlayResponse> { Data = playResponse }; })); }
private void MakeMove(int[] movePositions) { if (_ticTacToeControlsViewModel.GameStarted && TicTacToeBoard[movePositions[1]][movePositions[0]] == ControlEnums.Player.None) { PlayRequest request = BuildPlayRequest(movePositions); PlayResponse response = _ticTacToeControlsViewModel.GameScenario.Execute(request); PlayerWon = response.PlayerWon; } }
public async Task <ActionResult <PlayResponse> > Tocar(PlayRequest request) { try { PlayResponse response = await ChamarSpotifyApi(request); return(response); } catch (Exception ex) { return(BadRequest( new Models.Response.ErroResponse(500, ex.Message) )); } }
public PlayResponse Execute(PlayRequest PlayRequest) { _currentPlayer = ((_currentPlayer != null) && _currentPlayer.Equals(_realPlayer)) ? _AIPlayer : _realPlayer; PlayResponse response = _currentPlayer.Play(PlayRequest); if (!response.PlayerWon) { _currentPlayer = ((_currentPlayer != null) && _currentPlayer.Equals(_realPlayer)) ? _AIPlayer : _realPlayer; PlayRequest request = new PlayRequest(); request.TicTacToeBoard = response.TicTacToeBoard; response = _currentPlayer.Play(request); } return(response); }
public void TestPlay() { target = new StandardEngine(); var board = target.NewGame(); PlayRequest req = new PlayRequest() { Board = board.AsArray(), Row = 0, Col = 0 }; PlayResponse res = target.Play(req); CollectionAssert.AreEquivalent(new MarkType[, ] { { MarkType.Cross, MarkType.None, MarkType.None }, { MarkType.None, MarkType.None, MarkType.None }, { MarkType.None, MarkType.None, MarkType.None } }, res.Board); req = new PlayRequest() { Board = res.Board, Row = 1, Col = 1 }; res = target.Play(req); CollectionAssert.AreEquivalent(new MarkType[, ] { { MarkType.Cross, MarkType.None, MarkType.None }, { MarkType.None, MarkType.Nought, MarkType.None }, { MarkType.None, MarkType.None, MarkType.None } }, res.Board); req = new PlayRequest() { Board = res.Board, Row = 2, Col = 2 }; res = target.Play(req); CollectionAssert.AreEquivalent(new MarkType[, ] { { MarkType.Cross, MarkType.None, MarkType.None }, { MarkType.None, MarkType.Nought, MarkType.None }, { MarkType.None, MarkType.None, MarkType.Cross } }, res.Board); }
public DataResponse <PlayResponse> GetPlayerModel(int idDialogue) { return(Do(() => { var dialogue = _service.GetOne(idDialogue); var result = new PlayResponse { Dialogue = dialogue, Setting = new PlaySetting { VisableMyText = true, VisableOtherText = true, IdNowPlay = -1, } }; return new DataResponse <PlayResponse> { Data = result }; })); }
public override Task ExecuteAsync(SlarkContext context) { var request = context.Message as PlayRequest; var responseBody = new Dictionary <string, object>() { { "cmd", this.Command }, { "op", "updated" }, { "i", request.CommandId }, }; if (request.Body.ContainsKey("casAttr") || request.Body.ContainsKey("attr")) { context.HasNotice = true; } var response = new PlayResponse(responseBody); response.Timestamplize(); response.SerializeBody(); return(Task.FromResult(response.MetaText)); }
public override Response DoWork(string request) { var workRequest = JsonConvert.DeserializeObject<PlayRequest>(request); var workResponse = new PlayResponse(); var u = Server.Users.Values.FirstOrDefault(user => user.Name == workRequest.UserName); if (u == null) { workResponse.Status = Statuses.NoUser; return workResponse; } if (Server.PlayersQue.ContainsKey(workRequest.UserName)) { workResponse.Status = Statuses.DuplicateUser; return workResponse; } if (Server.PlayersQue.TryAdd(workRequest.UserName, u)) { workResponse.Status = Statuses.Ok; return workResponse; } workResponse.Status = Statuses.Unknown; return workResponse; }
public PlayResponse Play(PlayRequest request) { if (currentPlayer == null) { return(null); } PlayResponse response = currentPlayer.Play(request, victoryValidator); if (response.IsValidMove) { BoardChanged?.Invoke(request.Row, request.Col, currentPlayer.Mark); if (response.Result != Enums.GameState.Playing) { GameOver?.Invoke(response.Result, response.Result == Enums.GameState.Draw ? Enums.MarkType.None : currentPlayer.Mark); } currentPlayer = NextPlayer; } return(response); }
public bool MoveNext(CancellationToken token) { using (var session = new EightTracksSession(EightTracksModule.ApiKey)) { if (_playToken == null) { _playToken = session.Query<Play>().GetPlayToken(); } if (_currentPlayResponse == null) { _currentPlayResponse = session.Query<Play>().Execute(_playToken.PlayToken, _currentMix.ID); } else if (!_currentPlayResponse.Set.AtEnd) { _currentPlayResponse = session.Query<Play>().Next(_playToken.PlayToken, _currentMix.ID); } if (_currentPlayResponse.Errors != null) { var errorNodes = _currentPlayResponse.Errors as XmlNode[]; if (errorNodes != null && errorNodes.Any()) { var errorNode = errorNodes.FirstOrDefault(); if (errorNode != null && (errorNode.Name != "nil" && errorNode.Value != "true")) { var errorText = errorNode.InnerText; _toastService.Show(errorText); } } } if (MoveToNextSimilarMixAtEnd) { if (_currentPlayResponse.Set == null || _currentPlayResponse.Set.AtEnd) { if (_currentMix != null) { var nextMixResponse = session.Query<Mixes>().GetNextMix(_playToken.PlayToken, _currentMix.ID); _currentMix = nextMixResponse.NextMix; if (_currentMix != null) { Description = _currentMix.Name; _currentPlayResponse = session.Query<Play>().Execute(_playToken.PlayToken, _currentMix.ID); } } // TODO : Add user-notification and logging if there is any errors } } if (_currentPlayResponse.Set == null) { return false; } } return _currentPlayResponse != null && !_currentPlayResponse.Set.AtEnd; }
public void Reset() { _currentMix = _startMix; _playToken = null; _currentPlayResponse = null; }
public bool MoveNext(CancellationToken token) { using (var session = new EightTracksSession(EightTracksModule.ApiKey)) { if (_playToken == null) { _playToken = session.Query <Play>().GetPlayToken(); } if (_currentPlayResponse == null) { _currentPlayResponse = session.Query <Play>().Execute(_playToken.PlayToken, _currentMix.ID); } else if (!_currentPlayResponse.Set.AtEnd) { _currentPlayResponse = session.Query <Play>().Next(_playToken.PlayToken, _currentMix.ID); } if (_currentPlayResponse.Errors != null) { var errorNodes = _currentPlayResponse.Errors as XmlNode[]; if (errorNodes != null && errorNodes.Any()) { var errorNode = errorNodes.FirstOrDefault(); if (errorNode != null && (errorNode.Name != "nil" && errorNode.Value != "true")) { var errorText = errorNode.InnerText; _toastService.Show(errorText); } } } if (MoveToNextSimilarMixAtEnd) { if (_currentPlayResponse.Set == null || _currentPlayResponse.Set.AtEnd) { if (_currentMix != null) { var nextMixResponse = session.Query <Mixes>().GetNextMix(_playToken.PlayToken, _currentMix.ID); _currentMix = nextMixResponse.NextMix; if (_currentMix != null) { Description = _currentMix.Name; _currentPlayResponse = session.Query <Play>().Execute(_playToken.PlayToken, _currentMix.ID); } } // TODO : Add user-notification and logging if there is any errors } } if (_currentPlayResponse.Set == null) { return(false); } } return(_currentPlayResponse != null && !_currentPlayResponse.Set.AtEnd); }
public void Dispose() { _playToken = null; _currentPlayResponse = null; }
public AResponse CreateResponse(string responseData) { AResponse response = null; try { // validate length if (responseData.Length < Protocol.Instance.HeaderLength) { throw new ParserException("invalid responseData length"); } // get the header string header = responseData.Substring(0, (int)Protocol.Instance.HeaderLength); switch (_messageHeaderMapper[header]) { case MessageType.DisplayDevicesInfo: response = new DisplayDeviceInfoResponse(); break; case MessageType.Pause: response = new PauseResponse(); break; case MessageType.Play: response = new PlayResponse(); break; case MessageType.Resume: response = new ResumeResponse(); break; case MessageType.Seek: response = new SeekResponse(); break; case MessageType.SetImage: response = new SetImageResponse(); break; case MessageType.SetText: response = new SetTextResponse(); break; case MessageType.RemoveAddon: response = new RemoveAddonResponse(); break; case MessageType.Stop: response = new StopResponse(); break; case MessageType.Termination: response = new TerminationResponse(); break; case MessageType.VideoLayout: response = new VideoLayoutResponse(); break; case MessageType.Volume: response = new VolumeResponse(); break; case MessageType.WindowLayout: response = new WindowLayoutResponse(); break; case MessageType.SoundFx: response = new SoundFxResponse(); break; case MessageType.Sound3d: response = new Sound3dResponse(); break; case MessageType.MidiProperties: response = new MidiPropertiesResponse(); break; case MessageType.MidiOutputPortInfo: response = new MidiOutputPortInfoResponse(); break; case MessageType.SetMidiOutputPort: response = new SetMidiOutputPortResponse(); break; case MessageType.SetDls: response = new SetDlsResponse(); break; case MessageType.SetFrequency: response = new SetFrequencyResponse(); break; case MessageType.SetRate: response = new SetRateResponse(); break; case MessageType.SetPlayerType: response = new SetPlayerTypeResponse(); break; default: throw new ParserException("invalid message header"); } response.ParseFromString(responseData); } catch (System.Exception e) { throw e; } return(response); }
public ActionResult Play(PlayResponse model) { var result = _playerApp.ReloadDialogue(model); return(View(result.Data)); }