private List <MultiplayerServerSummary> GetMultiplayerServers(string buildId, AzureRegion region)
        {
            List <MultiplayerServerSummary> summaries = new List <MultiplayerServerSummary>();
            ListMultiplayerServersResponse  response  = CallPlayFabApi(() => Instance
                                                                       .ListMultiplayerServersAsync(new ListMultiplayerServersRequest()
            {
                PageSize = DefaultPageSize, Region = region.ToString(), BuildId = buildId
            }));

            summaries.AddRange(response.MultiplayerServerSummaries ?? Enumerable.Empty <MultiplayerServerSummary>());
            if (All)
            {
                while (!string.IsNullOrEmpty(response.SkipToken))
                {
                    response = CallPlayFabApi(() => Instance
                                              .ListMultiplayerServersAsync(new ListMultiplayerServersRequest()
                    {
                        BuildId   = buildId,
                        PageSize  = DefaultPageSize,
                        SkipToken = response.SkipToken,
                        Region    = region.ToString()
                    }));
                    summaries.AddRange(response.MultiplayerServerSummaries ?? Enumerable.Empty <MultiplayerServerSummary>());
                }
            }

            return(summaries);
        }
示例#2
0
    public void EnumerateServers(ListMultiplayerServersResponse result)
    {
        lastServerBuildId = JsonUtility.FromJson <ListMultiplayerServersRequest>(result.Request.ToJson()).BuildId;

        Debug.Log("GOT SERVERS OK: " + result.ToJson().ToString());
        HideLoader();
        if (result.MultiplayerServerSummaries.Count > 0)
        {
            foreach (var server in result.MultiplayerServerSummaries)
            {
                GameObject newServerButton = Instantiate(serverButton,
                                                         Vector3.zero, Quaternion.identity,
                                                         serverButton.transform.parent) as GameObject;

                ServerID identity = newServerButton.GetComponent <ServerID>();

                identity.Region            = (AzureRegion)server.Region;
                identity.ServerIdentifier  = server.ServerId;
                identity.SessionIdentifier = server.SessionId;
                identity.State             = server.State;
                identity.connectedPlayers  = server.ConnectedPlayers;
                identity.SetText($"{identity.Region.ToString()}\n<color={StateColor(identity.State)}><b>{identity.State}</b></color>",
                                 identity.ServerIdentifier, identity.connectedPlayers.Count);

                newServerButton.SetActive(true);
            }

            serverBuildSelection.SetActive(false);
            serverView.SetActive(true);
        }
        else
        {
            Inform("No servers were found.");
        }
    }
示例#3
0
 private void GetServerList(ListMultiplayerServersResponse response)
 {
     //servers = response.MultiplayerServerSummaries;
 }