Пример #1
0
    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();
    }
Пример #2
0
    public MinigameInfo GetNextMinigame()
    {
        MinigameInfo Minigame = ShuffledMinigames[NextMinigameToShowIndex];

        NextMinigameToShowIndex = (NextMinigameToShowIndex + 1) % ShuffledMinigames.Length;
        return(Minigame);
    }
Пример #3
0
    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);
    }
Пример #5
0
 public void SetMinigameInfo()
 {
     foreach (MinigameInfo minigame in allMinigames)
     {
         if (minigame.minigameName == sceneAfter)
         {
             currentMinigame = minigame;
         }
     }
 }
Пример #6
0
 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);
 }
Пример #7
0
    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;
 }
Пример #9
0
 void Start()
 {
     minigameInfo = GetComponent <MinigameInfo> ();
     UpdateScore();
 }
Пример #10
0
    void SetNextThumbnail()
    {
        MinigameInfo Minigame = Spawner.GetNextMinigame();

        ThumbnailImage.sprite = Minigame.Thumbnail;
    }