private void OnMessageReceived(MessageBase msg) { Type type = msg.GetType(); if (type == typeof(ValidationRequest)) { ValidationRequestHandler(msg as ValidationRequest); } else if (type == typeof(SessionRequest)) { SessionRequestHandler(msg as SessionRequest); } else if (type == typeof(SessionResponse)) { SessionResponseHandler(msg as SessionResponse); } else if (type == typeof(EndSessionRequest)) { EndSessionRequestHandler(msg as EndSessionRequest); } else if (type == typeof(DisconnectRequest)) { DisconnectRequestHandler(msg as DisconnectRequest); } else if (OtherSideReceiver != null) { OtherSideReceiver.SendMessage(msg); } }
private void DisconnectRequestHandler(DisconnectRequest request) { if (OtherSideReceiver != null) { OtherSideReceiver.SendMessage(new DisconnectRequest()); OtherSideReceiver.Status = StatusEnum.Validated; } Disconnect(); }
private void EndSessionRequestHandler(EndSessionRequest request) { if (OtherSideReceiver != null) { OtherSideReceiver.SendMessage(new EndSessionRequest()); OtherSideReceiver.Status = StatusEnum.Validated; OtherSideReceiver.OtherSideReceiver = null; this.OtherSideReceiver = null; this.Status = StatusEnum.Validated; this.SendMessage(new EndSessionResponse(request)); } }
public void AcceptPlayRequestHandler(AcceptPlayRequest msg) { OtherSideReceiver.SendMessage(msg); if (msg.IsAlready) { this.InGameProperties.Status = StatusInGame.Ready; if (OtherSideReceiver.InGameProperties.Status == StatusInGame.Ready) { SetupDataAndSendToClients(); } } }
private void EndSessionRequestHandler(EndSessionRequest request) { if (OtherSideReceiver != null) { OtherSideReceiver.SendMessage(new EndSessionRequest()); ResetPropertiesClientInProcess(OtherSideReceiver); OtherSideReceiver.Status = StatusEnum.InProcess; } ResetPropertiesClient(this); this.SendMessage(new EndSessionResponse(request)); UpdateTablesInProcessRequest processRequest = new UpdateTablesInProcessRequest(); processRequest.ClientsInProcess = GetListTableInProcess(Server.Receivers); foreach (Receiver re in this.Server.Receivers) { if (re.Status == StatusEnum.Validated) { re.SendMessage(processRequest); } } }
private void OnMessageReceived(MessageBase msg) { Type type = msg.GetType(); if (type == typeof(ValidationRequest)) { ValidationRequestHandler(msg as ValidationRequest); } else if (type == typeof(SessionRequest)) { SessionRequestHandler(msg as SessionRequest); } else if (type == typeof(SessionResponse)) { SessionResponseHandler(msg as SessionResponse); } else if (type == typeof(EndSessionRequest)) { EndSessionRequestHandler(msg as EndSessionRequest); } else if (type == typeof(DisconnectRequest)) { DisconnectRequestHandler(msg as DisconnectRequest); } else if (type == typeof(CreateTableRequest)) { CreateTableHandler(msg as CreateTableRequest); } else if (type == typeof(TablesInProcessRequest)) { ClientsInProcessRequestHandler(msg as TablesInProcessRequest); } else if (type == typeof(AcceptPlayRequest)) { AcceptPlayRequestHandler(msg as AcceptPlayRequest); } else if (type == typeof(JoinPublicParkRequest)) { JoinPublicParkRequestHandler(msg as JoinPublicParkRequest); } else if (type == typeof(UpdateLocationPlayerRequest)) { UpdateLocationPlayerRequestHandler(msg as UpdateLocationPlayerRequest); } else if (type == typeof(ChangeLocationRequest)) { ChangeLocationRequestHandler(msg as ChangeLocationRequest); } else if (type == typeof(SendMessagePublicPark)) { SendMessagePublicParkHandler(msg as SendMessagePublicPark); } else if (type == typeof(LeavePublicParkRequest)) { LeavePublicParkRequestHandler(msg as LeavePublicParkRequest); } else if (OtherSideReceiver != null) { if (type == typeof(GameRequest)) { GameRequestHandler(msg as GameRequest); return; } else if (type == typeof(UpdateScoreRequest)) { UpdateScoreRequestHandler(msg as UpdateScoreRequest); } OtherSideReceiver.SendMessage(msg); } }