public ActionResult Create(ServerJoin sj) { Validate(sj); // adds the ModelStateErrors if (!ModelState.IsValid) { return(View(sj)); }
public void HandleMessage(Packet msg) { switch (msg.Type) { case PacketType.Voice: Server.SendMessageToAll(msg); break; case PacketType.DeclareWinner: Server.DeclareWinner(((DeclareWinner)msg).Id); Server.StartMatch(true); break; case PacketType.EndTurn: { EndTurn endTurn = (EndTurn)msg; SelectedCards.Clear(); foreach (CardInfo info in endTurn.Cards) { SelectedCards.Add(info.Value); } CardCount -= endTurn.Cards.Count; Ready = true; Server.SendMessageToAllExcept(new SetStatus(Id, false), Id); break; } case PacketType.LobbyBeginGame: Server.SendMessageToAll(new BeginGame()); Server.State = Server.States.InGame; Server.StartMatch(false); Server.Greet(); break; case PacketType.ServerJoin: { ServerJoin serverJoin = (ServerJoin)msg; // Check version if (serverJoin.Version != Program.Version) { Connection.Disconnect("Host is running on a different version."); return; } Name = serverJoin.Name; Server.SendMessageToAllExcept(new PlayerNew(Name, Id), Id); foreach (ServerClient c in Server.Clients.Where(a => a.Id != Id)) { Connection.SendMessage(new PlayerNew(c.Name, c.Id)); } Verified = true; Server.SendMessageToAllExcept(new ChatMessage(String.Format("{0} has joined the game!", Name)), Id); break; } case PacketType.ChatMessage: { ChatMessage chatMessage = (ChatMessage)msg; Server.SendMessageToAllExcept(new ChatMessage(chatMessage.Value), Id); break; } default: Console.WriteLine("Unhandled packet {0}", msg.Type.ToString()); break; } }
private void InvokeServerJoinEvent() { ServerJoin?.Invoke(this, EventArgs.Empty); }