Example #1
0
 protected override void MouseCore(MouseHandlerParams _params)
 {
     PlayOrContinueButton.Mouse(_params);
     LevelSelectButton.Mouse(_params);
     //OptionsButton.Mouse(_params);
     ExitButton?.Mouse(_params);
 }
Example #2
0
    // Loads a level pack and initializes the level choosing screen
    void InitLevelPack(string packPath)
    {
        packPath = levelsPath + packPath;
        string jsonData = File.ReadAllText(packPath);

        Debug.Log("Got raw JSON data for " + packPath + " :" + jsonData.Replace("\n", " ").Replace("\r", ""));
        levelData = JsonUtility.FromJson <LevelDataCollection>(jsonData);

        // First, clear all levels from the level list.
        foreach (Transform child in levelSelectPanel.transform)
        {
            Destroy(child.gameObject);
        }

        for (int idx = 0; idx < levelData.levels.Length; idx++)
        {
            LevelData  level  = levelData.levels[idx];
            GameObject newbtn = Instantiate(levelSelectButtonTemplate);

            // Set up the button corresponding to that level.
            LevelSelectButton lsb = newbtn.GetComponentInChildren <LevelSelectButton>();
            lsb.levelName = level.path;
            lsb.levelNum  = idx;

            // TODO: replace the button BG with a thumbnail

            // Set the text related to the level entry: the level name and the level count.
            Utils.SetText(newbtn.transform.GetChild(0).GetChild(0).gameObject, (idx + 1).ToString());
            Utils.SetText(newbtn.transform.GetChild(1).gameObject, level.name);

            newbtn.transform.SetParent(levelSelectPanel.transform);
        }
    }
Example #3
0
 protected override void TouchCore(ref TouchHandlerParams _params)
 {
     PlayOrContinueButton.Touch(ref _params);
     LevelSelectButton.Touch(ref _params);
     //OptionsButton.Touch(ref _params);
     ExitButton?.Touch(ref _params);
 }
    void fillButtons()
    {
        bool addAnotherButton = true;
        int  numberOfButtons  = 0;

        if (!filled)
        {
            for (int i = 1; i <= GameMaster.MaxLevel; i++)
            {
                if (PlayerPrefs.GetInt("Level " + i, 0) == 1 || addAnotherButton)
                {
                    if (PlayerPrefs.GetInt("Level " + i, 0) == 0)
                    {
                        addAnotherButton = false;
                    }
                    GameObject numberButton = (GameObject)Instantiate(numberButtonPrefab, content.transform);
                    LSB = numberButton.GetComponent <LevelSelectButton> ();
                    LSB.getNumber(i);
                    numberButton.GetComponent <Image>().sprite = Resources.Load <Sprite>(i + "button");
                    numberButton.name = i.ToString();
                    print("adding listener to : " + i);
                    numberButton.GetComponent <Button> ().onClick.AddListener(() => onClickLevelSelect(numberButton));
                    numberOfButtons++;
                    content.GetComponent <RectTransform>().sizeDelta = new Vector2(content.GetComponent <RectTransform>().sizeDelta.x, content.GetComponent <RectTransform>().sizeDelta.y + 120);
                }
            }
        }
        filled = true;
    }
    /// <summary>
    /// Create and instantiate a level select button base on item
    /// </summary>
    /// <param name="item">The level data</param>
    /// <returns>The created button</returns>
    protected LevelSelectButton CreateButton(LevelItem item)
    {
        LevelSelectButton button = Instantiate(SelectionPrefab);

        button.Initialize(item);
        return(button);
    }
Example #6
0
 protected override void MouseCore(MouseHandlerParams _params)
 {
     RestartButton.Mouse(_params);
     LevelSelectButton.Mouse(_params);
     MainMenuButton.Mouse(_params);
     ExitButton?.Mouse(_params);
     BackButton.Mouse(_params);
 }
 void Start()
 {
     for (int i = 0; i <= PlaySessionManager.ins.FurthestLevel; i++)
     {
         LevelSelectButton newButton = Instantiate(buttonPrefab, buttonContainer);
         newButton.Initialize(this, i);
     }
 }
Example #8
0
 protected override void TouchCore(ref TouchHandlerParams _params)
 {
     RestartButton.Touch(ref _params);
     LevelSelectButton.Touch(ref _params);
     MainMenuButton.Touch(ref _params);
     ExitButton?.Touch(ref _params);
     BackButton.Touch(ref _params);
 }
Example #9
0
 public void Toggle(bool on)
 {
     if (on)
     {
         ActiveButton = this;
     }
     infoBackground.SetActive(on);
     medalSprite.gameObject.SetActive(on);
 }
 void SaveAll()
 {
     GameObject[] allButtons = GameObject.FindGameObjectsWithTag("LevelButton");
     foreach (GameObject buttons in allButtons)
     {
         LevelSelectButton button = buttons.GetComponent <LevelSelectButton> ();
         PlayerPrefs.SetInt("Level_" + button.levelText.text, button.unlocked);
     }
 }
 private void InitializeLevelsList()
 {
     for (int i = 0; i < levels.levels.Length; i++)
     {
         level             l                 = levels.levels[i];
         GameObject        levelObject       = Instantiate(levelPrefab, levelContentGroup.transform);
         LevelSelectButton levelSelectButton = levelObject.GetComponent <LevelSelectButton>();
         levelSelectButton.level = l;
         levelSelectButton.Initialize();
     }
 }
Example #12
0
    void Start()
    {
        int levels = SceneManager.sceneCountInBuildSettings - 2;

        for (int i = 0; i < levels; i++)
        {
            LevelSelectButton button = Instantiate(buttonPrefab, transform);
            button.sceneIndex = i + 2;
            button.SetText((i + 1).ToString());
            button.SetRecordText();
        }
    }
Example #13
0
    private void AddButtons()
    {
        for (int i = 0; i < itemList.Count; i++)
        {
            Item       item      = itemList [i];
            GameObject newButton = buttonObjectPool.GetObject();
            newButton.transform.SetParent(contentPanel);

            LevelSelectButton levelButton = newButton.GetComponent <LevelSelectButton> ();
            levelButton.SetUp(item, this);
        }
    }
Example #14
0
    private void InitLevelSelectButtons()
    {
        LevelSelectButton[] existingButtons = GetComponentsInChildren <LevelSelectButton>();
        foreach (LevelSelectButton button in existingButtons)
        {
            Destroy(button.gameObject);
        }

        for (int i = 0; i < levelsCount; i++)
        {
            LevelSelectButton levelSelectButton =
                Instantiate(levelSelectButtonPrefab, transform);
            levelSelectButton.Initialize(this, i, unlockedLevels.Contains(i));
        }
    }
    void Start()
    {
        DontDestroyOnLoad(gameObject);

        foreach (LevelData levelData in levels)
        {
            LevelSelectButton button = Instantiate(levelSelectButton, levelSelectButton.transform.parent);
            button.levelImage.sprite   = levelData.levelimage;
            button.levelNameText.text  = levelData.uiName;
            button.difficultyText.text = levelData.difficulty.ToString();

            button.GetComponent <Button>().onClick.AddListener(delegate { SelectLevel(levelData); });
        }

        levelSelectButton.gameObject.SetActive(false);
    }
    // Use this for initialization
    void Start()
    {
        levels = new List <GameObject>();
        List <MapAsset> mapAssets = MapManager.Instance.MapAssets;

        for (int i = 0; i < mapAssets.Count; i++)
        {
            GameObject obj = Instantiate(levelSelectButtonPrefab, this.transform);
            obj.GetComponent <Toggle>().group = this.GetComponent <ToggleGroup>();
            LevelSelectButton button = obj.GetComponent <LevelSelectButton>();
            button.setMapAsset(mapAssets[i].mapScrenshot, i);
            levels.Add(obj);
        }

        //Update Size
        this.GetComponent <RectTransform>().sizeDelta = new Vector2(0, 170 * Mathf.CeilToInt(mapAssets.Count / 4f));
    }
Example #17
0
    // Use this for initialization
    void Start()
    {
        LevelSelectButton levelButton = GetComponentInParent <LevelSelectButton>();
        //Get Level Number
        int level = levelButton.LevelIndex;

        //Look up Score
        levelScore = PlayerPrefs.GetInt("Level" + level);

        //Display Score
        if (levelScore > 1)
        {
            ScoreDisplay.text = "High Score: " + levelScore;
        }
        else
        {
            ScoreDisplay.text = "Unplayed";
        }
    }
    /// <summary>
    /// Instantiate the buttons
    /// </summary>
    protected virtual void Start()
    {
        if (GameManager.instance == null)
        {
            return;
        }

        m_LevelList = GameManager.instance.LevelList;

        if (LayoutGroup == null || SelectionPrefab == null || m_LevelList == null)
        {
            return;
        }

        int amount = m_LevelList.Count;

        for (int i = 0; i < amount; i++)
        {
            LevelSelectButton button = CreateButton(m_LevelList[i]);
            button.transform.SetParent(LayoutGroup.transform);
            button.transform.localScale = Vector3.one;
            m_Buttons.Add(button.GetComponent <Button>());
        }

        if (RightBuffer != null)
        {
            RightBuffer.SetAsLastSibling();
        }

        for (int k = 1; k < m_Buttons.Count - 1; k++)
        {
            Button button = m_Buttons[k];
            SetupNavigation(button, m_Buttons[k - 1], m_Buttons[k + 1]);
        }

        SetupNavigation(m_Buttons[0], BackButton, m_Buttons[1]);
        SetupNavigation(m_Buttons[m_Buttons.Count - 1], m_Buttons[m_Buttons.Count - 2], null);
        // Scrolling to do
    }
    void FillList()
    {
        foreach (var level in levelList)
        {
            GameObject newButton = Instantiate(levelButton) as GameObject;

            LevelSelectButton button = newButton.GetComponent <LevelSelectButton> ();

            button.levelText.text = level.levelText;

            if (PlayerPrefs.GetInt("Level_" + button.levelText.text) == 1)
            {
                level.unLocked       = 1;
                level.isInteractable = true;
            }

            button.unlocked = level.unLocked;
            button.GetComponent <Button> ().interactable = level.isInteractable;
            button.GetComponent <Button> ().onClick.AddListener(() => LoadLevels("Level_" + button.levelText.text));

            if (PlayerPrefs.GetInt("Level_" + button.levelText.text + "_done") == 1)
            {
                button.Star1.SetActive(true);
            }
            if (PlayerPrefs.GetInt("Level_" + button.levelText.text + "_target") == 1)
            {
                button.Star2.SetActive(true);
            }
            if (PlayerPrefs.GetInt("Level_" + button.levelText.text + "_fullhealth") == 1)
            {
                button.Star3.SetActive(true);
            }

            newButton.transform.SetParent(spacer);
            numberOfLevels = numberOfLevels + 1;
        }
        SaveAll();
    }
Example #20
0
    protected override void OnOpen()
    {
        foreach (LevelSelectButton button in levelButtons)
        {
            Destroy(button.gameObject);
        }
        levelButtons = new List <LevelSelectButton> ();

        bool   hasFourMaps = currentWorld.maps.Length == 4;
        string but         = hasFourMaps ? "LevelSelectButton" : "LevelSelectButtonSmall";

        foreach (Text label in titleLabels)
        {
            label.text = currentWorld.displayName.ToUpper();
        }

        string nextKey = "";

        for (int i = 0; i < currentWorld.maps.Length; i++)
        {
            currentWorld.maps [i].currentIndex = i;
            currentWorld.maps [i].keyID        = nextKey;
            nextKey = currentWorld.maps [i].name;
            if (i == currentWorld.maps.Length - 1)
            {
                currentWorld.maps [i].isFinalLevel = true;
            }

            GameObject        obj    = Instantiate(Resources.Load(but)) as GameObject;
            LevelSelectButton button = obj.GetComponent <LevelSelectButton> ();
            button.Init(currentWorld.maps [i]);

            button.transform.parent = anchor;
            if (hasFourMaps)
            {
                button.transform.localPosition = new Vector3(i * 200f - 300f, 0f, 0f);
            }
            else
            {
                button.transform.localPosition = new Vector3(i * 100f - 350f, 25f - (i % 2) * 50f, 0f);
            }
            button.transform.localScale = Vector3.one;

            levelButtons.Add(button);
        }

        foreach (Text levelNameLabel in levelNameLabels)
        {
            levelNameLabel.text = currentWorld.displayName;
        }

        levelInfoBg.CrossFadeAlpha(0f, 0f, true);
        Image[] images = levelInfoBg.GetComponentsInChildren <Image> ();
        foreach (Image image in images)
        {
            image.CrossFadeAlpha(0f, 0f, true);
        }
        Text[] texts = levelInfoBg.GetComponentsInChildren <Text> ();
        foreach (Text text in texts)
        {
            text.CrossFadeAlpha(0f, 0f, true);
        }
    }
Example #21
0
    public void DisplayWorld()
    {
        FloatinGraphicController.Instance.ShowScene(currentWorld - 1);
        // Set the world text
        switch (currentWorld)
        {
        case 1:
            WorldTitle.text = "1.Plains";
            break;

        case 2:
            WorldTitle.text = "2.Night Plains";
            break;

        case 3:
            WorldTitle.text = "3.Ruins";
            break;

        case 4:
            WorldTitle.text = "4.Night Ruins";
            break;

        case 5:
            WorldTitle.text = "5.Station";
            break;
        }

        // Unlock tutorial
        if (highestLevelUnlocked >= 1)
        {
            LevelSelectButtons[0].SetScore(3);
            TutorialButtonGlow.SetBool("tutdone", true);
        }
        else
        {
            LevelSelectButtons[0].SetUnlocked();
            TutorialButtonGlow.SetBool("tutdone", false);
        }

        int baseLevel = (currentWorld - 1) * LEVELS_PER_WORLD;

        // Set level numbers
        for (int i = 1; i < LEVELS_PER_WORLD + 1; i++)
        {
            LevelSelectButton button = LevelSelectButtons[i];
            button.SetLevelNumber(baseLevel + i);
        }

        // Unlock levels
        for (int i = 1; i <= LEVELS_PER_WORLD; i++)
        {
            if (baseLevel + i < highestLevelUnlocked)
            {
                int score = PlayerPrefs.GetInt(LevelSelectUI.PLAYER_PREFS_HIGH_SCORE_BASE + (baseLevel + i), 0);
                // print(i.ToString() + " " + score.ToString());
                LevelSelectButtons[i].SetScore(score);
                LevelSelectScores[i].SetScore(score);
            }
            else if (baseLevel + i == highestLevelUnlocked)
            {
                LevelSelectButtons[i].SetUnlocked();
                LevelSelectScores[i].SetScore(0);
            }
            else
            {
                LevelSelectButtons[i].SetLocked();
                LevelSelectScores[i].SetScore(-1);
            }
        }

        // Set World Navigation Buttons
        DownWorldButton.SetUnlocked();
        UpWorldButton.SetUnlocked();
    }
Example #22
0
        private void CreateUi()
        {
            _uiContainer.Clear();
            Vector2 screenSize = base.Game.WindowSize;

            // Full map playthrough button
            LevelSelectButton fullMapButton = new LevelSelectButton("Full map", _currentLevelScore.MapBestTime, new RectangleF(screenSize.X / 2f - 96, 144, 96 * 2, 48));
            fullMapButton.Click += (o, e) =>
            {
                LoadingScreen.Load(base.ScreenManager, false, new GameplayScreen(_files[_currentLevelIndex], GameplayMode.FullRun));
            };
            _uiContainer.Add(fullMapButton);

            if (_currentLevelScore.StageCount > 1)
            {
                for (int i = 0; i < _currentLevelScore.StageCount; i++)
                {
                    int x = i % 4;
                    int y = i / 4;

                    int stageIndex = i + 1;
                    LevelSelectButton stageButton = new LevelSelectButton("Stage " + stageIndex, _currentLevelScore.StageBestTimes[i], new RectangleF(80 + screenSize.X / 4 * x - 64, screenSize.Y / 2 + 64 + y * 112 - 24, 64 * 2, 24 * 2));
                    stageButton.Click += (o, e) =>
                    {
                        LoadingScreen.Load(base.ScreenManager, false, new GameplayScreen(_files[_currentLevelIndex], stageIndex - 1));
                    };
                    _uiContainer.Add(stageButton);
                }
            }

            // Arrows
            const int Scale = 4;
            Texture2D arrowTexture = base.ContentProvider.DefaultManager.LoadTexture("Arrow");
            Vector2 Size = new Vector2(arrowTexture.Width, arrowTexture.Height) * Scale;

            // Previous
            TexturedButton previousButton = new TexturedButton(new RectangleF(32, 32, Size.X, Size.Y), new Sprite(arrowTexture, false) {Scale = new Vector2(Scale), SpriteEffects = SpriteEffects.FlipHorizontally });
            previousButton.Enabled = _files.Length > 1;
            previousButton.Sprite.Tint = previousButton.Enabled ? Color.White : Color.Gray;
            previousButton.Click += (o, e) =>
            {
                _currentLevelIndex--;
                if (_currentLevelIndex < 0)
                {
                    _currentLevelIndex = _files.Length - 1;
                }

                _reloadLevel = true;
            };
            _uiContainer.Add(previousButton);

            // Next
            TexturedButton nextButton = new TexturedButton(new RectangleF(screenSize.X - Size.X - 32, 32, Size.X, Size.Y), new Sprite(arrowTexture, false) { Scale = new Vector2(Scale) });
            nextButton.Enabled = _files.Length > 1;
            nextButton.Sprite.Tint = previousButton.Enabled ? Color.White : Color.Gray;
            nextButton.Click += (o, e) =>
            {
                _currentLevelIndex++;
                if (_currentLevelIndex >= _files.Length)
                {
                    _currentLevelIndex = 0;
                }

                _reloadLevel = true;
            };
            _uiContainer.Add(nextButton);
        }
Example #23
0
    public void SelectStage(int stageNumber)
    {
        this.RemoveTableChildren();
        this.LevelSelectTable.Reposition();

        // Fudge Factor so it doesn't use up the whole space, just most of it
        const float FudgeFactor = .9f;

        // Set the number of columns
        int rows = this.LevelsPerStage / this.NumberOfColumns;

        this.LevelSelectTable.columns = this.NumberOfColumns;

        // Set the padding
        this.LevelSelectTable.padding = new Vector2(this.Padding, this.Padding);

        // Calculate what is available for width and height
        float columnPadding   = ((this.NumberOfColumns + 1) * this.Padding);
        float rowPadding      = ((rows + 1) * this.Padding);
        float availableWidth  = (this.LevelSelectTableLimits.localSize.x * FudgeFactor) - columnPadding;
        float availableHeight = (this.LevelSelectTableLimits.localSize.y * FudgeFactor) - rowPadding;

        // Choose a button size based on the smaller of the two
        float width      = availableWidth / this.NumberOfColumns;
        float height     = availableHeight / rows;
        float buttonSize = Math.Min(width, height);

        for (int i = 1; i <= this.LevelsPerStage; i++)
        {
            GameObject item = NGUITools.AddChild(this.LevelSelectTable.gameObject, this.LevelSelectButton);

            UIWidget uiWidget = item.GetComponent <UIWidget>();

            if (uiWidget != null)
            {
                uiWidget.SetDimensions((int)buttonSize, (int)buttonSize);
            }

            LevelSelectButton levelSelectButton = item.GetComponent <LevelSelectButton>();

            if (levelSelectButton != null)
            {
                int level = ((stageNumber - 1) * this.LevelsPerStage) + i;
                levelSelectButton.SetLevel(this.GameTable, level);

                foreach (ActivateOnClick levelSelectActivateOnClick in levelSelectButton.ActivateOnClick)
                {
                    if (levelSelectActivateOnClick != null)
                    {
                        levelSelectActivateOnClick.ActivateTarget   = this.GameBoard;
                        levelSelectActivateOnClick.DeactivateTarget = this.gameObject;
                    }
                }
            }

            this.LevelSelectTable.children.Add(item.transform);
        }

        // Center the table
        float heightOffset = (rowPadding + this.Padding + (buttonSize * rows)) / 2;
        float widthOffset  = -(columnPadding + this.Padding + (buttonSize * this.NumberOfColumns)) / 2;

        this.LevelSelectTable.transform.localPosition = new Vector3(widthOffset, heightOffset + this.SelectLevelVerticalOffset);

        this.LevelSelectTable.enabled       = true;
        this.LevelSelectTable.repositionNow = true;
    }