Ejemplo n.º 1
0
    void M8.UIModal.Interface.IPush.Push(M8.GenericParams parms)
    {
        Pause(true);

        if (mCurPage != null)
        {
            mCurPage.Hide();
            mCurPage = null;
        }

        //grab page
        string levelName;

        if (parms.TryGetValue(parmLevelName, out levelName))
        {
            if (!mPages.TryGetValue(levelName, out mCurPage))
            {
                Debug.LogWarning("Unknown Page: " + levelName);
                return;
            }
        }

        mCurPage.Show();

        int hintButtonCount = mCurPage.pages.Length;

        //determine hint unlock
        mHintCounter = GameData.instance.GetHintCounter(levelName);

        for (int i = 0; i < mHintCounter; i++)
        {
            hintButtons[i].Show();
            hintButtons[i].available = true;
            hintButtons[i].highlight = false;
        }

        for (int i = mHintCounter; i < hintButtonCount; i++)
        {
            hintButtons[i].Show();
            hintButtons[i].available = false;
            hintButtons[i].highlight = false;
        }

        for (int i = hintButtonCount; i < hintButtons.Length; i++)
        {
            hintButtons[i].Hide();
        }

        //set default page
        if (mHintCounter > 0 && hintButtons[0].available)
        {
            OpenPage(0);
        }
        else
        {
            OpenPage(-1);
        }
    }