コード例 #1
0
        // Token: 0x06001A7D RID: 6781 RVA: 0x0007D4F8 File Offset: 0x0007B6F8
        private static void OnLobbyJoined(bool success)
        {
            SteamworksLobbyManager.awaitingJoin = false;
            if (success)
            {
                if (SteamworksLobbyManager.client.Lobby.CurrentLobbyData != null)
                {
                    string buildId = RoR2Application.GetBuildId();
                    string data    = SteamworksLobbyManager.client.Lobby.CurrentLobbyData.GetData("build_id");
                    if (buildId != data)
                    {
                        Debug.LogFormat("Lobby build_id mismatch, leaving lobby. Ours=\"{0}\" Theirs=\"{1}\"", new object[]
                        {
                            buildId,
                            data
                        });
                        SimpleDialogBox simpleDialogBox = SimpleDialogBox.Create(null);
                        simpleDialogBox.AddCancelButton(CommonLanguageTokens.ok, Array.Empty <object>());
                        simpleDialogBox.headerToken = new SimpleDialogBox.TokenParamsPair
                        {
                            token        = "STEAM_LOBBY_VERSION_MISMATCH_DIALOG_TITLE",
                            formatParams = Array.Empty <object>()
                        };
                        SimpleDialogBox.TokenParamsPair descriptionToken = default(SimpleDialogBox.TokenParamsPair);
                        descriptionToken.token = "STEAM_LOBBY_VERSION_MISMATCH_DIALOG_DESCRIPTION";
                        object[] formatParams = new string[]
                        {
                            buildId,
                            data
                        };
                        descriptionToken.formatParams    = formatParams;
                        simpleDialogBox.descriptionToken = descriptionToken;
                        SteamworksLobbyManager.client.Lobby.Leave();
                        return;
                    }
                }
                Debug.LogFormat("Steamworks lobby join succeeded. Lobby id = {0}", new object[]
                {
                    SteamworksLobbyManager.client.Lobby.CurrentLobby
                });
                SteamworksLobbyManager.OnLobbyChanged();
            }
            else
            {
                Debug.Log("Steamworks lobby join failed.");
                Console.instance.SubmitCmd(null, "steam_lobby_create_if_none", true);
            }
            Action <bool> action = SteamworksLobbyManager.onLobbyJoined;

            if (action == null)
            {
                return;
            }
            action(success);
        }
コード例 #2
0
        // Token: 0x06001A7A RID: 6778 RVA: 0x0007D3C4 File Offset: 0x0007B5C4
        private static void OnLobbyDataUpdated()
        {
            Lobby lobby = SteamworksLobbyManager.client.Lobby;

            SteamworksLobbyManager.newestLobbyData = (lobby.IsValid ? new SteamworksLobbyManager.LobbyData(lobby.CurrentLobbyData) : new SteamworksLobbyManager.LobbyData());
            SteamworksLobbyManager.UpdateOwnsLobby();
            SteamworksLobbyManager.UpdatePlayerCount();
            if (lobby.IsValid && !SteamworksLobbyManager.ownsLobby)
            {
                if (SteamworksLobbyManager.newestLobbyData.serverId.isValid)
                {
                    if (!GameNetworkManager.singleton.IsConnectedToServer(SteamworksLobbyManager.newestLobbyData.serverId) && RoR2Application.GetBuildId() == SteamworksLobbyManager.newestLobbyData.buildId)
                    {
                        GameNetworkManager.singleton.desiredHost = new GameNetworkManager.HostDescription(SteamworksLobbyManager.newestLobbyData.serverId);
                    }
                }
                else
                {
                    GameNetworkManager.singleton.desiredHost = GameNetworkManager.HostDescription.none;
                }
            }
            Action action = SteamworksLobbyManager.onLobbyDataUpdated;

            if (action == null)
            {
                return;
            }
            action();
        }
コード例 #3
0
        // Token: 0x06001A5D RID: 6749 RVA: 0x0007CCB0 File Offset: 0x0007AEB0
        private static void OnLobbyChanged()
        {
            SteamworksLobbyManager.isInLobby = SteamworksLobbyManager.client.Lobby.IsValid;
            SteamworksLobbyManager.UpdateOwnsLobby();
            if (SteamworksLobbyManager.client.Lobby.CurrentLobbyData != null)
            {
                SteamworksLobbyManager.client.Lobby.CurrentLobbyData.SetData("total_max_players", TextSerialization.ToStringInvariant(RoR2Application.maxPlayers));
                SteamworksLobbyManager.client.Lobby.CurrentLobbyData.SetData("build_id", RoR2Application.GetBuildId());
            }
            SteamworksLobbyManager.UpdatePlayerCount();
            Action action = SteamworksLobbyManager.onLobbyChanged;

            if (action != null)
            {
                action();
            }
            SteamworksLobbyManager.OnLobbyDataUpdated();
        }