public static void LeaveRoom(HBPlayer player) { if (!IsInRoom(player)) { return; } var room = _rooms[player.RoomToken]; if (IsOwner(player)) { if (RoomFull(player)) { roomClosed.Invoke(room.Other); } if (room.Other != null) { room.Other.RoomToken = string.Empty; } RemoveRoom(player.RoomToken); } else { opponentLeaved.Invoke(room.Owner); room.Other = null; } player.RoomToken = string.Empty; }
public static bool IsInRoom(HBPlayer player, string roomToken) { if (player?.RoomToken == null) { return(false); } return(player.RoomToken == roomToken); }
public static bool IsOwner(HBPlayer player) { if (!_rooms.ContainsKey(player.RoomToken)) { return(false); } return(_rooms[player.RoomToken].Owner == player); }
public static bool IsInRoom(HBPlayer player) { if (player == null) { return(false); } return(player.RoomToken != string.Empty); }
public static bool RoomFull(HBPlayer player) { if (!_rooms.ContainsKey(player.RoomToken)) { return(false); } var room = _rooms[player.RoomToken]; return(room.Other != null); }
public static void CloseRoom(HBPlayer player) { Room room; _rooms.TryRemove(player.Token, out room); if (RoomFull(player)) { roomClosed.Invoke(room.Other); } player.RoomToken = string.Empty; }
public static void LeaveRoom(HBPlayer player) { var room = _rooms[player.RoomToken]; room.Other = null; opponentLeaved.Invoke(room.Owner); room.Owner.RoomToken = string.Empty; if (room.Other != null) { room.Other.RoomToken = string.Empty; } }
public static bool IsInRoom(HBPlayer player) { return(player.RoomToken != string.Empty); }
public static void JoinRoom(HBPlayer player, string roomToken) { _rooms[roomToken].Other = player; playerJoined.Invoke(_rooms[roomToken].Owner, player); player.RoomToken = roomToken; }
public static void CreateRoom(HBPlayer player, RoomParams roomParams) { _rooms.TryAdd(player.Token, new Room(player, roomParams)); player.RoomToken = player.Token; }
public RoomListResult(HBPlayer player, Result result) : base((int)MessageType.SHOW_ROOMS, player, result) { }
public void Join(HBPlayer player) { Other = player; }
public static bool IsInRoom(HBPlayer player, string roomToken) { return(player.RoomToken == roomToken); }
public Room(HBPlayer player, RoomParams roomParams) { Owner = player; Params = roomParams; }
public StartGameRequest(HBPlayer player) : base((int)MessageType.START_GAME, player) { }
public PlayerJoinedResponse(HBPlayer player, Result result, string opponentToken) : base( (int)MessageType.PLAYER_JOINED, player, result) { OpponentToken = opponentToken; }
public LeaveRoomRequest(HBPlayer player) : base((int)MessageType.LEAVE_ROOM, player) { }
public JoinRoomRequest(HBPlayer player) : base((int)MessageType.JOIN_ROOM, player) { }
public StartGameResponse(HBPlayer player, Result result) : base((int)MessageType.START_GAME, player, result) { }
public CreateRoomRequest(HBPlayer player) : base((int)MessageType.CREATE_ROOM, player) { }
public ShowRoomsRequest(HBPlayer player) : base((int)MessageType.SHOW_ROOMS, player) { }