Beispiel #1
0
 private bool isvalidstartthegamerequest(StartTheGameRequest startthegamerequest)
 {
     if (startthegamerequest.teamA.Count == 1 && startthegamerequest.teamB.Count == 1)
     {
         return(true);
     }
     return(false);
 }
Beispiel #2
0
        public override void OnMessage(string message)
        {
            try
            {
                WebSocketRequest mywebsocketrequest = JsonConvert.DeserializeObject <WebSocketRequest>(message);
                //TAKE JSON JOINTEAMREQUEST,VALIDATE AND IF VALID SEND THE SAME MESSAGE BACK, AND UPDATE SERVERSIDED TEAMS
                if (mywebsocketrequest.typeofalert.Equals("jointeamrequest"))
                {
                    string          data            = JsonConvert.SerializeObject(mywebsocketrequest.data);
                    JoinTeamRequest jointeamrequest = JsonConvert.DeserializeObject <JoinTeamRequest>(data);
                    if (isvalidupdateteamrequest(jointeamrequest))
                    {
                        clients.Broadcast(message);
                    }
                }
                //TAKE JSON REQUEST TO GET TEAMS AND GENERATE A NEW JSONRESPONSE WIH THE CURRENT STATE OF TEAMS
                if (mywebsocketrequest.typeofalert.Equals("getstateofteams"))
                {
                    JObject o = new JObject();

                    JArray  serializedteams = new JArray();
                    JObject teamAjJObject   = new JObject();
                    teamAjJObject["team"] = JToken.Parse(JsonConvert.SerializeObject(clients.teamA));
                    JObject teamBjJObject = new JObject();
                    teamBjJObject["team"] = JToken.Parse(JsonConvert.SerializeObject(clients.teamB));
                    serializedteams.Add(teamAjJObject);
                    serializedteams.Add(teamBjJObject);

                    o["teams"]       = serializedteams;
                    o["typeofalert"] = "getstateofteams";
                    clients.Broadcast(o.ToString());
                }
                if (mywebsocketrequest.typeofalert.Equals("startthegamerequest"))
                {
                    string data = JsonConvert.SerializeObject(mywebsocketrequest.data);
                    StartTheGameRequest startthegamerequest = JsonConvert.DeserializeObject <StartTheGameRequest>(data);
                    if (isvalidstartthegamerequest(startthegamerequest))
                    {
                        clients.Broadcast(message);
                    }
                }
                if (mywebsocketrequest.typeofalert.Equals("ingamerequest"))
                {
                    clients.Broadcast(message);
                }

                if (mywebsocketrequest.typeofalert.Equals("victoryrequest"))
                {
                    clients.Broadcast(message);
                }
            }
            catch (Exception e)
            {
                //IF DESERIALIZING DOES NOT WORK, THEN TREAT MESSAGE AS CHAT MESSAGE
                clients.Broadcast(name + " has said " + message);
            }
        }