void RefreshAvailableMinigames() { string[] Guids = AssetDatabase.FindAssets("t:" + typeof(MinigameInfo).Name); //FindAssets uses tags check documentation for more info MinigameInfo[] AllMinigames = new MinigameInfo[Guids.Length]; int TotalLength = 0; for (int i = 0; i < Guids.Length; i++) //probably could get optimized { string path = AssetDatabase.GUIDToAssetPath(Guids[i]); MinigameInfo Minigame = AssetDatabase.LoadAssetAtPath <MinigameInfo>(path); if (!Minigame.ExcludeFromGameList) { TotalLength++; } AllMinigames[i] = Minigame; } int c = 0; AvailableMinigames = new MinigameInfo[TotalLength]; for (int i = 0; i < Guids.Length; i++) { if (!AllMinigames[i].ExcludeFromGameList) { AvailableMinigames[c] = AllMinigames[i]; c++; } } EditorUtility.SetDirty(this); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); }
public MinigameInfo GetNextMinigame() { MinigameInfo Minigame = ShuffledMinigames[NextMinigameToShowIndex]; NextMinigameToShowIndex = (NextMinigameToShowIndex + 1) % ShuffledMinigames.Length; return(Minigame); }
public void StartGame(MinigameGamemodeTypes GameModeSelected) { // We launch the debug minigame only if we are in the editor to make sure the build never uses a debug minigame if (Application.isEditor && DEBUG_MinigamesToLaunch.Length > 0) { GameState.Instance.SetupNewMinigames(DEBUG_MinigamesToLaunch, GameModeSelected); SceneTransitionController.Instance.TransitionToScene(Settings.MinigameLauncherScene.ScenePath); } else { // Add in minigames from shuffled list until we have enough minigames to play through the whole game MinigameInfo[] MinigamesToPlay = new MinigameInfo[MinigamesPerGame]; MinigameInfo[] ShuffledMinigames = Settings.GetShuffledMinigames(); int MinigamesAdded = 0; for (int i = 0; MinigamesAdded < MinigamesPerGame; i = (i + 1) % ShuffledMinigames.Length) { if (ShuffledMinigames[i].SupportedGameModes.HasFlag(GameModeSelected)) { MinigamesToPlay[MinigamesAdded] = ShuffledMinigames[i]; MinigamesAdded++; } } GameState.Instance.SetupNewMinigames(MinigamesToPlay, GameModeSelected); SceneTransitionController.Instance.TransitionToScene(Settings.MinigameLauncherScene.ScenePath); } }
public MinigameInfo GetNextMinigame() { // TODO: what do we do when we get through them all? MinigameInfo Minigame = ShuffledMinigames[NextMinigameToShowIndex]; NextMinigameToShowIndex = (NextMinigameToShowIndex + 1) % ShuffledMinigames.Length; return(Minigame); }
public void SetMinigameInfo() { foreach (MinigameInfo minigame in allMinigames) { if (minigame.minigameName == sceneAfter) { currentMinigame = minigame; } } }
public MinigameInfo[] GetShuffledMinigames() { MinigameInfo[] ShuffledMinigames = new MinigameInfo[AvailableMinigames.Length]; AvailableMinigames.CopyTo(ShuffledMinigames, 0); for (int i = 0; i < ShuffledMinigames.Length; i++) { int j = Random.Range(0, ShuffledMinigames.Length - 1); MinigameInfo jInfo = ShuffledMinigames[j]; ShuffledMinigames[j] = ShuffledMinigames[i]; ShuffledMinigames[i] = jInfo; } return(ShuffledMinigames); }
void Start() { //Don't allow pause GameControl.instance.pause_infoscreen = true; info = GetComponent <MinigameInfo> (); ui = GetComponent <MinigameUI> (); playerReadyScript = ui.minigameUI.GetComponentInChildren <PlayerReady> (); //Find players first to avoid error GameControl.instance.FindPlayers(); //activate the ui on startup //with the correct game being played ui.UpdateMinigameUI(GetCurrentMinigame()); ui.ShowMinigameUI(); }
private void PopulateUI(MinigameInfo miniGame) { MinigameNameText.text = miniGame.Name; CreatorNameText.text = miniGame.CreatorNames; MinigameThumbnail.sprite = miniGame.Thumbnail; }
void Start() { minigameInfo = GetComponent <MinigameInfo> (); UpdateScore(); }
void SetNextThumbnail() { MinigameInfo Minigame = Spawner.GetNextMinigame(); ThumbnailImage.sprite = Minigame.Thumbnail; }