示例#1
0
    void OnEnable()
    {
        if (levels == null)
        {
            levels = LevelIO.getLevelsInDirectory();
        }

        levelList.GetComponent <RectTransform>().sizeDelta = new Vector2(960, levels.Length * 72);
        GameObject currentLevelSign;

        for (int i = 0; i < levels.Length; i++)
        {
            currentLevelSign = (GameObject)Instantiate(levelTimePrefab, levelList);
            currentLevelSign.transform.localPosition = Vector3.down * (i + 0.5f) * 72;
            currentLevelSign.transform.GetChild(0).GetComponent <TMPro.TMP_Text>().text       = levels[i];
            currentLevelSign.transform.GetChild(1).GetComponent <TMPro.TMP_InputField>().text = LevelTimeTargets.getTarget(levels[i]).ToString();
            string name = levels[i];
            TMPro.TMP_InputField field = currentLevelSign.transform.GetChild(1).GetComponent <TMPro.TMP_InputField>();
            field.onSubmit.AddListener(delegate { SubmitTime(field, name); });
            field.onDeselect.AddListener(delegate { SubmitTime(field, name); });
        }
        exitButton.onClick.AddListener(delegate {
            SceneManager.SetActiveScene(SceneManager.GetSceneByName("MainMenu"));
            SceneManager.UnloadSceneAsync(SceneManager.GetSceneByName("TimeTaken"));
        });
    }
示例#2
0
    private void OnEnable()
    {
        int numberOfLevels = levelList.childCount;

        if (bundles == null)
        {
            bundles = FindObjectOfType <LevelBundles>();
        }
        ((RectTransform)levelList).sizeDelta = new Vector2(0, (int)(bundles.AllActiveLevels().Length / 4f) * 300 + 15 + 60 * (LevelIO.getLevelsInDirectory(true).Length + 1));
        int playedLevels = 0;

        for (int i = 0; i < bundles.bundles.Length; i++)
        {
            foreach (string level in bundles.bundles[i].levels)
            {
                if (Scores.GetHighscore(level) > 0)
                {
                    playedLevels++;
                }
            }
            if (i > 0)
            {
                if (2 <= playedLevels)
                {
                    CreateBundle(bundles.bundles[i], numberOfLevels++);
                }
                playedLevels = 0;
            }
            else
            {
                CreateBundle(bundles.bundles[i], numberOfLevels++);
            }
        }
        Transform UserLevels = ((GameObject)Instantiate(userLevelPrefab, levelList)).transform;

        UserLevels.localPosition = new Vector3(UserLevels.localPosition.x, (int)(bundles.AllActiveLevels().Length / 4f) * -300 - 45, UserLevels.localPosition.z);
        UserLevels.GetComponent <RectTransform>().sizeDelta = new Vector2(0, 60 * (LevelIO.getLevelsInDirectory(true).Length + 1));
        int index = 1;

        foreach (string level in LevelIO.getLevelsInDirectory(true))
        {
            GameObject UserLevelButton = (GameObject)Instantiate(userLevelButtonPrefab, UserLevels.transform);
            Button     b = UserLevelButton.GetComponent <Button>();
            b.name = level;
            UserLevelButton.transform.localPosition = new Vector3(-10f, -30f - index * 60f + 45f, 0f);
            string levelName = level;
            b.onClick.AddListener(delegate { b.interactable = false; GameLevelLoader.LoadLevel(level, true); });
            b.transform.GetChild(0).GetComponent <Text>().text = "\t\t" + level;
            b.transform.GetChild(1).GetComponent <Text>().text = Scores.GetHighscore(level) + "\t\t";
            index++;
        }
    }
    private void OnEnable()
    {
        editorNavigation.HidePreviewCursor(true);

        string[] levels = LevelIO.getLevelsInDirectory(true);

        GameObject currentLevelButton;

        ((RectTransform)levelList).sizeDelta = new Vector2(0, levels.Length * 64);
        foreach (string level in levels)
        {
            if (levelList.Find(level))
            {
                continue;
            }
            currentLevelButton = (GameObject)Instantiate(levelListPrefab, levelList);
            string s = level;
            currentLevelButton.name = level;
            currentLevelButton.GetComponentInChildren <TMPro.TextMeshProUGUI>().text = level;
            currentLevelButton.transform.localPosition = new Vector3(450f, -32f - 64f * numberOfLevels++, 0f);
            currentLevelButton.GetComponent <Button>().onClick.AddListener(delegate { LevelManager.LoadLevel(s, true); Hide(); });
        }
    }
示例#4
0
 private void updateLists()
 {
     levels = LevelIO.getLevelsInDirectory();
     LevelTimeTargets.SaveLevels();
 }