public RoomDealer CreateRoom(ClientInfo client) { RoomDealer RoomCreated = new RoomDealer(Net, client, RoomIdentifier); RoomIdentifier += 1; Rooms.Add(RoomCreated); return(RoomCreated); }
private void ManagedDogReturnHandler(ClientInfo client, Object request) { ManagedDogReturn pckt = (ManagedDogReturn)request; RoomDealer RoomOfClient = Rooms.FindRoomFromClientId(client.Id); RoomOfClient.GameInfo.Dog = pckt.Dog; RoomOfClient.GameInfo.DropCardsDogFromPlayerHand(pckt.Dog); Net.GetConnectionByClientId(RoomOfClient.RoomInfo.Players[RoomOfClient.StartingPlayer].Id).SendObject("YourTurnPlayCard", new YourTurnPlayCard()); }
private void IAmReadyHandler(ClientInfo client, Object request) { RoomDealer RoomOfClient = Rooms.FindRoomFromClientId(client.Id); RoomOfClient.GameInfo.PlayersInfo[client.Id].IsReady = true; if (RoomOfClient.IsAllPlayersReady()) { RoomOfClient.StartGame(); } }
private void AskMovingIntoRoomHandler(ClientInfo client, Object request) { AskMovingIntoRoom pckt = (AskMovingIntoRoom)request; RoomDealer room = Rooms.GetRoomFromRoomId(pckt.RoomId); if (room == null) { client.Instance.SendObject("MovingIntoRoomAnswer", new MovingIntoRoomAnswer(MovingIntoRoomAnswerType.FAIL)); return; } if (room.RoomInfo.Players.Count() == 4) { client.Instance.SendObject("MovingIntoRoomAnswer", new MovingIntoRoomAnswer(MovingIntoRoomAnswerType.ROOM_FULL)); return; } client.Instance.SendObject("MovingIntoRoomAnswer", new MovingIntoRoomAnswer(MovingIntoRoomAnswerType.OK)); room.AddPlayer(client); }
private void CallHandler(ClientInfo client, Object request) { Call pckt = (Call)request; RoomDealer room = Rooms.FindRoomFromClientId(client.Id); room.GameInfo.SetPlayerCall(client.Id, pckt.Type); room.SendMessageToRoom("Call", pckt); if (room.GameInfo.IsAllPlayersSkiped()) { room.GameCancelled(); } else if (room.GameInfo.IsGameCallOver()) { room.StartPlayerDogHandling(); } else { Net.GetConnectionByClientId(room.GetNextPlayerIdTurnById(client.Id)).SendObject("YourTurnCall", new YourTurnCall()); } }
private void CardPlayedHandler(ClientInfo client, Object request) { CardPlayed pckt = (CardPlayed)request; RoomDealer RoomOfClient = Rooms.FindRoomFromClientId(client.Id); RoomOfClient.GameInfo.PlayersInfo[client.Id].CardPlayedOnTable = pckt.Card; RoomOfClient.GameInfo.PlayersInfo[client.Id].RemoveCardPlayed(pckt.Card); RoomOfClient.SendMessageToRoom("CardPlayed", pckt); if (RoomOfClient.GameInfo.IsTurnOver()) { RoomOfClient.HandleTurnOver(); } else { if (RoomOfClient.GameInfo.IsFirstCardToPlayed()) { RoomOfClient.GameInfo.ColorPlayed = pckt.Card.Color; } Net.GetConnectionByClientId(RoomOfClient.GetNextPlayerIdTurnById(client.Id)).SendObject("YourTurnPlayCard", new YourTurnPlayCard()); } }
public void DeleteRoom(RoomDealer room) { Rooms.Remove(room); }
private void AskCreateRoomHandler(ClientInfo client, Object request) { AskCreateRoom pckt = (AskCreateRoom)request; RoomDealer NewRoom = Rooms.CreateRoom(client); }