Example #1
0
        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;
        }
Example #2
0
 public static bool IsInRoom(HBPlayer player, string roomToken)
 {
     if (player?.RoomToken == null)
     {
         return(false);
     }
     return(player.RoomToken == roomToken);
 }
Example #3
0
 public static bool IsOwner(HBPlayer player)
 {
     if (!_rooms.ContainsKey(player.RoomToken))
     {
         return(false);
     }
     return(_rooms[player.RoomToken].Owner == player);
 }
Example #4
0
 public static bool IsInRoom(HBPlayer player)
 {
     if (player == null)
     {
         return(false);
     }
     return(player.RoomToken != string.Empty);
 }
Example #5
0
        public static bool RoomFull(HBPlayer player)
        {
            if (!_rooms.ContainsKey(player.RoomToken))
            {
                return(false);
            }
            var room = _rooms[player.RoomToken];

            return(room.Other != null);
        }
Example #6
0
        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;
        }
Example #7
0
        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;
            }
        }
Example #8
0
 public static bool IsInRoom(HBPlayer player)
 {
     return(player.RoomToken != string.Empty);
 }
Example #9
0
 public static void JoinRoom(HBPlayer player, string roomToken)
 {
     _rooms[roomToken].Other = player;
     playerJoined.Invoke(_rooms[roomToken].Owner, player);
     player.RoomToken = roomToken;
 }
Example #10
0
 public static void CreateRoom(HBPlayer player, RoomParams roomParams)
 {
     _rooms.TryAdd(player.Token, new Room(player, roomParams));
     player.RoomToken = player.Token;
 }
Example #11
0
 public RoomListResult(HBPlayer player, Result result) : base((int)MessageType.SHOW_ROOMS, player, result)
 {
 }
Example #12
0
 public void Join(HBPlayer player)
 {
     Other = player;
 }
Example #13
0
 public static bool IsInRoom(HBPlayer player, string roomToken)
 {
     return(player.RoomToken == roomToken);
 }
Example #14
0
 public Room(HBPlayer player, RoomParams roomParams)
 {
     Owner  = player;
     Params = roomParams;
 }
Example #15
0
 public StartGameRequest(HBPlayer player) : base((int)MessageType.START_GAME, player)
 {
 }
Example #16
0
 public PlayerJoinedResponse(HBPlayer player, Result result, string opponentToken) : base(
         (int)MessageType.PLAYER_JOINED, player,
         result)
 {
     OpponentToken = opponentToken;
 }
Example #17
0
 public LeaveRoomRequest(HBPlayer player) : base((int)MessageType.LEAVE_ROOM, player)
 {
 }
Example #18
0
 public JoinRoomRequest(HBPlayer player) : base((int)MessageType.JOIN_ROOM, player)
 {
 }
Example #19
0
 public StartGameResponse(HBPlayer player, Result result) :
     base((int)MessageType.START_GAME, player, result)
 {
 }
Example #20
0
 public CreateRoomRequest(HBPlayer player) : base((int)MessageType.CREATE_ROOM, player)
 {
 }
Example #21
0
 public ShowRoomsRequest(HBPlayer player) : base((int)MessageType.SHOW_ROOMS, player)
 {
 }