public void OnClickCreateGame() { uiCreateGameProgress = uiCreateGameProgress ?? FindObjectOfType <CreateGameProgressUi>(); var selectedMap = GetSelectedMap(); var selectedGameRule = GetSelectedGameRule(); if (selectedMap == null) { return; } var defaultBotCount = selectedGameRule == null ? 0 : selectedGameRule.DefaultBotCount; var defaultMatchTime = selectedGameRule == null ? 0 : selectedGameRule.DefaultMatchTime; var defaultMatchKill = selectedGameRule == null ? 0 : selectedGameRule.DefaultMatchKill; var defaultMatchScore = selectedGameRule == null ? 0 : selectedGameRule.DefaultMatchScore; var botCount = inputBotCount == null ? defaultBotCount : int.Parse(inputBotCount.text); var matchTime = inputMatchTime == null ? defaultMatchTime : int.Parse(inputMatchTime.text); var matchKill = inputMatchKill == null ? defaultMatchKill : int.Parse(inputMatchKill.text); var matchScore = inputMatchScore == null ? defaultMatchScore : int.Parse(inputMatchScore.text); var gameRuleName = selectedGameRule == null ? "" : selectedGameRule.name; var settings = new Dictionary <string, string> { { MsfDictKeys.RoomName, inputRoomName == null ? "" : inputRoomName.text }, { MsfDictKeys.SceneName, selectedMap.scene.SceneName }, { MsfDictKeys.MapName, selectedMap.scene.SceneName }, { MsfDictKeys.MaxPlayers, inputMaxPlayer == null ? "0" : inputMaxPlayer.text }, { MsfDictKeys.IsPublic, true.ToString() }, { IOGamesModule.IsFirstRoomKey, false.ToString() }, { IOGamesModule.RoomSpawnTypeKey, IOGamesModule.RoomSpawnTypeUser }, { BaseNetworkGameRule.BotCountKey, botCount.ToString() }, { BaseNetworkGameRule.MatchTimeKey, matchTime.ToString() }, { BaseNetworkGameRule.MatchKillKey, matchKill.ToString() }, { BaseNetworkGameRule.MatchScoreKey, matchScore.ToString() }, { IOGamesModule.GameRuleNameKey, gameRuleName }, }; Msf.Client.Spawners.RequestSpawn(settings, "", (requestController, errorMsg) => { if (requestController == null) { uiCreateGameProgress.gameObject.SetActive(false); Msf.Events.Fire(Msf.EventNames.ShowDialogBox, DialogBoxData.CreateError("Failed to create a game: " + errorMsg)); Debug.LogError("Failed to create a game: " + errorMsg); } uiCreateGameProgress.Display(requestController); }); }