Ejemplo n.º 1
0
    private void _CreatRoom(Player player, byte[] data)
    {
        //结果
        CreatRoom result = new CreatRoom();

        CreatRoom receive = NetworkUtils.Deserialize <CreatRoom>(data);

        //逻辑检测(玩家不在任何房间中 并且 不存在该房间)
        if (!player.InRoom && !Server.Rooms.ContainsKey(receive.RoomId))
        {
            //新增房间
            Room room = new Room(receive.RoomId);
            Server.Rooms.Add(room.RoomId, room);
            //添加玩家
            room.Players.Add(player);
            player.EnterRoom(receive.RoomId);

            Console.WriteLine($"玩家:{player.Name}创建房间成功");

            //向客户端发送操作结果
            result.Suc    = true;
            result.RoomId = receive.RoomId;
            data          = NetworkUtils.Serialize(result);
            player.Send(MessageType.CreatRoom, data);
        }
        else
        {
            Console.WriteLine($"玩家:{player.Name}创建房间失败");
            //向客户端发送操作结果
            data = NetworkUtils.Serialize(result);
            player.Send(MessageType.CreatRoom, data);
        }
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 创建房间
    /// </summary>
    public void CreatRoomRequest(int roomId)
    {
        CreatRoom request = new CreatRoom();

        request.RoomId = roomId;
        byte[] data = NetworkUtils.Serialize(request);
        NetworkClient.Enqueue(MessageType.CreatRoom, data);
    }
Ejemplo n.º 3
0
    private void _CreatRoom(byte[] data)
    {
        CreatRoom result = NetworkUtils.Deserialize <CreatRoom>(data);

        if (result.Suc)
        {
            NetworkPlayer.Instance.OnRoomIdChange(result.RoomId);

            Info.Instance.Print(string.Format("创建房间成功, 你的房间号是{0}", NetworkPlayer.Instance.RoomId));
        }
        else
        {
            Info.Instance.Print("创建房间失败");
        }
    }