コード例 #1
0
    public WaitingRoomInfo(FWaitingRoom data)
    {
        city       = data.City;
        host       = data.Host;
        maxClients = data.ClientsMax;

        if (data.TeamsLength != 2)
        {
            Debug.LogError($"There are {data.TeamsLength} teams!");
            throw new Exception($"There are {data.TeamsLength} teams!");
        }

        teams = new Player[2][];
        for (int i = 0; i < 2; i++)
        {
            int size = data.Teams(i).Value.ClientsLength;
            teams[i] = new Player[size];
            for (int j = 0; j < size; j++)
            {
                FClient player = data.Teams(i).Value.Clients(j).Value;
                teams[i][j].id      = player.Id;
                teams[i][j].name    = player.Name;
                teams[i][j].Vehicle = GetVehicle(player.Vehicle.Value.VehicleType);
            }
        }
    }
コード例 #2
0
ファイル: GameInfo.cs プロジェクト: Qarian/UPZP-Front
 public GameInfo(FWaitingRoom waitingRoom)
 {
     id             = waitingRoom.Id;
     city           = waitingRoom.City;
     host           = waitingRoom.Host;
     currentPlayers = waitingRoom.ClientsLogged;
     maxPlayers     = waitingRoom.ClientsMax;
     status         = waitingRoom.Status;
 }
コード例 #3
0
    public void Receive(Message message)
    {
        if (message.Version != 4)
        {
            return;
        }

        var buffer = new ByteBuffer(message.Payload);

        currentRoom = FWaitingRoom.GetRootAsFWaitingRoom(buffer);
    }
コード例 #4
0
    public void Receive(Message message)
    {
        if (message.Version != 4)
        {
            return;
        }

        ControllersManager.Instance.OpenScene("Szczegóły gry");

        var          buffer   = new ByteBuffer(message.Payload);
        FWaitingRoom roomInfo = FWaitingRoom.GetRootAsFWaitingRoom(buffer);

        currentWaitingRoom = new WaitingRoomInfo(roomInfo);
        prezenter?.UpdateInfo(currentWaitingRoom, true);
    }