void LoadGame(GameBuilderApplication.PlayOptions playOpts) { if (localVoosFile != null) { // Two action logs intentional. } else { ulong itemId = workshopItem.SteamNative.m_nPublishedFileId.m_PublishedFileId; // Two action logs intentional. } loadingScreen.ShowAndDo(() => { if (localVoosFile != null) { var gameOpts = new GameBuilderApplication.GameOptions { playOptions = playOpts }; loadingScreen.ShowAndDo(() => sceneController.RestartAndLoad(localVoosFile, gameOpts)); } else { sceneController.LoadWorkshopItem( new LoadableWorkshopItem(workshopItem), playOpts, thumbnailImage.sprite.texture); } }); }
public static void CommandMpNew(CommandTerminal.CommandArg[] args) { GameBuilderApplication.GameOptions gameOptions = new GameBuilderApplication.GameOptions(); gameOptions.playOptions.isMultiplayer = true; gameOptions.playOptions.startAsPublic = false; GameObject.FindObjectOfType <GameBuilderSceneController>().RestartAndLoadMinimalScene(gameOptions); }
public void LoadMainSceneAsync(GameBuilderApplication.GameOptions gameOptions = new GameBuilderApplication.GameOptions()) { bsod?.NotifySceneClosing(); GameBuilderApplication.Get().SetGameOptionsDoNotUseExceptFromSceneController(gameOptions); OnBeforeReloadMainScene?.Invoke(); LastLoadStart = Time.realtimeSinceStartup; SceneManager.LoadSceneAsync("main", LoadSceneMode.Single); }
void OpenNew() { dynamicPopup.AskHowToPlayMultiplayer(playOpts => { var gameOpts = new GameBuilderApplication.GameOptions { playOptions = playOpts }; loadingScreen.ShowAndDo(() => sceneController.RestartAndLoadMinimalScene(gameOpts)); }); }
void Update() { if (Input.GetKeyDown(KeyCode.F8) && Input.GetKey(KeyCode.LeftControl)) { PerfBenchmark.CommandBenchmark(null); } #if UNITY_EDITOR if (Input.GetKeyDown(KeyCode.F9) && Input.GetKey(KeyCode.LeftControl)) { var gameOpts = new GameBuilderApplication.GameOptions { playOptions = new GameBuilderApplication.PlayOptions { isMultiplayer = true, startAsPublic = false, startInBuildMode = true } }; string path = System.IO.Path.Combine(Application.streamingAssetsPath, "ExampleGames", "Internal", "template-small.voos"); loadingScreen.ShowAndDo(() => sceneController.RestartAndLoad(path, gameOpts)); } #endif #if UNITY_EDITOR if (Input.GetKeyDown(KeyCode.F10) && Input.GetKey(KeyCode.LeftControl)) { sceneController.JoinMultiplayerGameByCode($"1-dev-{System.Net.Dns.GetHostName().ToLowerInvariant()}"); } #endif if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.N)) { sceneController.RestartAndLoadMinimalScene(new GameBuilderApplication.GameOptions()); } if (Input.GetButtonDown("Cancel")) { if (creditsObject.activeSelf) { creditsObject.SetActive(false); } else if (templateSelectorMenu.IsOpen()) { templateSelectorMenu.Close(); } else { menuPanelManager.Back(); } } AudioListener.volume = Application.isFocused ? 1 : 0; }
public void LoadWorkshopItem(LoadableWorkshopItem item, GameBuilderApplication.PlayOptions playOptions, Texture2D thumbnail) { resuming.SetWorkshopItemForResuming(item.steamId); var options = new GameBuilderApplication.GameOptions { displayName = item.displayName, playOptions = playOptions, thumbnailZippedJpegBytes = MaybeGetThumbnailBytes(thumbnail), steamWorkShopFileId = item.steamId, }; ulong itemId = item.steamId; this.RestartAndLoadBundleDirectory(item.installedLocalFolder, options); }
public void RestartAndLoad(string filePath, GameBuilderApplication.GameOptions gameOptions = new GameBuilderApplication.GameOptions()) { SaveLoadController.SaveGame save = SaveLoadController.ReadSaveGame(filePath); LoadMainSceneAsync(gameOptions); // TODO couldn't I put this in gameOptions instead..? // And then, we need to communicate the desire to load, so we use this SaveGameToLoad object. GameObject loadMe = new GameObject("LoadMePlease"); GameObject.DontDestroyOnLoad(loadMe); var tag = loadMe.AddComponent <SaveGameToLoad>(); tag.voosFilePath = filePath; tag.saved = save; }
public void RestartAndLoadLibraryBundle(GameBundleLibrary.Entry entry, GameBuilderApplication.PlayOptions playOptions) { if (!entry.IsAutosave()) { resuming.SetBundleForResuming(entry.id); } var bundle = entry.bundle; var gameOptions = new GameBuilderApplication.GameOptions { bundleIdToLoad = entry.id, displayName = bundle.GetMetadata().name, playOptions = playOptions, thumbnailZippedJpegBytes = MaybeGetThumbnailBytes(bundle.GetThumbnail()), }; this.LoadMainSceneAsync(gameOptions); }
void OpenSampleGame(GameThumbnail thumb, LocalSampleGames.GameInfo gameInfo) { SelectThumbnail(thumb, (rect) => { gameDetail.FitTo(rect); string desc = "<b>Example game: " + gameInfo.title + "</b>\n" + gameInfo.description; gameDetail.OpenSpecial(desc, thumb.GetTexture(), playOpts => { loadingScreen.ShowAndDo(() => { var gameOpts = new GameBuilderApplication.GameOptions { playOptions = playOpts }; loadingScreen.ShowAndDo(() => sceneController.RestartAndLoad(gameInfo.GetVoosFilePath(), gameOpts)); }); }, true); }); }
void OnTemplateClicked(BuiltInTemplateInfo template) { string fullPath = Path.Combine(Application.streamingAssetsPath, "ExampleGames", "Public", template.baseFileName + ".voos"); if (template.isTutorial) { loadingScreen.ShowAndDo(() => sceneController.RestartAndLoadTutorial()); } else { popups.AskHowToPlay(playOpts => { var gameOpts = new GameBuilderApplication.GameOptions { playOptions = playOpts }; loadingScreen.ShowAndDo(() => sceneController.RestartAndLoad(fullPath, gameOpts)); }); } }
public void RestartAndLoadTutorial() { GameBuilderApplication.GameOptions gameOptions = new GameBuilderApplication.GameOptions(); gameOptions.tutorialMode = true; RestartAndLoad(Path.Combine(Application.streamingAssetsPath, "ExampleGames", "Public", "tutorial.voos"), gameOptions); }
public void RestartAndLoadMinimalScene(GameBuilderApplication.GameOptions gameOptions = new GameBuilderApplication.GameOptions()) { RestartAndLoad(GetMinimalScenePath(false), gameOptions); }
public void RestartAndLoadBundleDirectory(string directory, GameBuilderApplication.GameOptions gameOptions) { this.RestartAndLoad((new GameBundle(directory)).GetVoosPath(), gameOptions); }