示例#1
0
    public void OnClick_HowToPlayGroup()
    {
        curHelpState = 0;
        ChooseHelpGroup();
        Graphic[] mainMenuItems = mainMenuGroup.GetComponentsInChildren <Graphic>(true);
        for (int i = 0; i < mainMenuItems.Length; i++)
        {
            StartCoroutine(Fading.FadeUIGraphic <Graphic>(1f, 0f, 0.15f, mainMenuItems[i], 0.05f * i));
        }
        StartCoroutine(Fading.ChangeActivenessDelayed(mainMenuGroup, false, 1.5f));
        Button[] mainMenuButtons = mainMenuGroup.GetComponentsInChildren <Button>(true);
        for (int i = 0; i < mainMenuButtons.Length; i++)
        {
            mainMenuButtons[i].interactable = false;                            //disable these buttons to prevent bugs
        }

        howToPlayGroup.SetActive(true);
        Graphic[] howToPlayItems = howToPlayGroup.GetComponentsInChildren <Graphic>(true);
        for (int i = 0; i < howToPlayItems.Length; i++)
        {
            StartCoroutine(Fading.FadeUIGraphic <Graphic>(0f, 1f, 0.1f, howToPlayItems[i], 1f + 0.05f * i));
        }
        Button[] howToPlayButtons = howToPlayGroup.GetComponentsInChildren <Button>(true);
        StartCoroutine(Fading.ChangeInteractivityDelayed(howToPlayButtons, true, 1f + 0.05f * howToPlayItems.Length));          //enable these buttons delayed to prevent bugs
    }
示例#2
0
    public void CalculateTimeBonus()
    {
        t_timebonus.color = new Color(t_timebonus.color.r, t_timebonus.color.g, t_timebonus.color.b, 1f);
        switch (comboDisplays)
        {
        case 2:
            timeBonus = 0.5f;
            break;

        case 3:
            timeBonus = 1.5f;
            break;

        case 4:
            timeBonus = 3f;
            break;

        case 5:
            timeBonus = 6f;
            break;
        }
        if (comboDisplays > 5)
        {
            timeBonus = comboDisplays * 2f;
        }

        StopCoroutine(timerCor);
        timerCor         = StartCoroutine(Fading.TimeCounter(timer + timeBonus, 0f, nowtime => timer = nowtime, isFinished => timeIsOut = isFinished));
        t_timebonus.text = string.Format("+{0:F1} bonus", timeBonus);
        if (comboDisplays > 5)
        {
            t_timebonus.text += "!";
        }
        StartCoroutine(Fading.FadeUIGraphic <Text>(1f, 0f, 0.2f, t_timebonus, 1.2f));
    }
示例#3
0
    void ControlWinLoseGroupElements()
    {
        StartCoroutine(Fading.FadeUIGraphic <Text>(1f, 0f, 0.05f, t_lvlnumber));
        winloseGroup.SetActive(true);
        StartCoroutine(Fading.FadeUIGraphic <Image>(0f, 0.6f, 0.05f, i_panel));
        StartCoroutine(Fading.FadeUIGraphic <Text>(0f, 1f, 0.1f, t_winloseheader, 1f));
        StartCoroutine(Fading.FadeUIGraphic <Text>(0f, 1f, 0.1f, t_winlosereason, 1f));
        StartCoroutine(Fading.FadeUIGraphic <Text>(0f, 1f, 0.1f, t_scoreheader, 1.5f));
        StartCoroutine(Fading.FadeUIGraphic <Text>(0f, 1f, 0.1f, t_score, 1.5f));
        StartCoroutine(Fading.FadeUIGraphic <Image>(0f, 1f, 0.1f, i_next, 3f));
        b_menu.interactable = false;
        StartCoroutine(Fading.FadeUIGraphic <Image>(1f, 0f, 0.05f, i_menu));
        if (isClassicMode)
        {
            b_restart.interactable = false;
            StartCoroutine(Fading.FadeUIGraphic <Image>(1f, 0f, 0.05f, i_restart));
        }
        if (!isClassicMode)
        {
            StartCoroutine(Fading.FadeUIGraphic <Text>(1f, 0f, 0.05f, t_timer));
            StartCoroutine(Fading.FadeUIGraphic <Text>(0f, 1f, 0.1f, t_timerheader, 1.5f));
            StartCoroutine(Fading.FadeUIGraphic <Text>(0f, 1f, 0.1f, t_winlosetimer, 1.5f));
            StartCoroutine(Fading.FadeUIGraphic <Text>(0f, 1f, 0.1f, t_cntdownheader, 1.8f));
            StartCoroutine(Fading.FadeUIGraphic <Text>(0f, 1f, 0.1f, t_winlosecntdown, 1.8f));
            StartCoroutine(Fading.FadeUIGraphic <Text>(0f, 1f, 0.1f, t_scoreheader, 2.1f));
            StartCoroutine(Fading.FadeUIGraphic <Text>(0f, 1f, 0.1f, t_score, 2.1f));

            t_winlosetimer.text = string.Format("{0:F1}", timer);
        }
        t_score.text = string.Format("{0:D}", winLoseManager.score);
    }
示例#4
0
 public void OnClick_ReturnToGame()
 {
     StartCoroutine(Fading.FadeUIGraphic <Graphic>(0.6f, 0f, 0.15f, returnToMainElements[0]));
     for (int i = 1; i < returnToMainElements.Length; i++)
     {
         StartCoroutine(Fading.FadeUIGraphic <Graphic>(1f, 0f, 0.1f, returnToMainElements[i]));
     }
     StartCoroutine(Fading.ChangeActivenessDelayed(returnToMainMenuGroup, false, 0.5f));
 }
示例#5
0
 public void OnClick_MainMenuGroup()
 {
     returnToMainMenuGroup.SetActive(true);
     StartCoroutine(Fading.FadeUIGraphic <Graphic>(0f, 0.6f, 0.15f, returnToMainElements[0]));
     for (int i = 1; i < returnToMainElements.Length; i++)
     {
         StartCoroutine(Fading.FadeUIGraphic <Graphic>(0f, 1f, 0.1f, returnToMainElements[i]));
     }
 }
示例#6
0
    void Lose()
    {
        ControlWinLoseGroupElements();
        t_winloseheader.text = "LEVEL FAILED!";
        t_winlosereason.text = "Time has run out! Unenabled displays left: " + displaysRemain;
        t_scoreatwin.text    = "0";
        b_restart.gameObject.SetActive(true);
        Image i_restart = b_restart.image;

        StartCoroutine(Fading.FadeUIGraphic <Image>(0f, 1f, 0.1f, i_restart, 3f));
        DataCenter.grid.failedAttempts++;
        DataCenter.SaveData();
    }
示例#7
0
    void ShowShareButtons()
    {
        StartCoroutine(Fading.ChangeActivenessDelayed(b_sharevk.gameObject, true, 2.4f));
        StartCoroutine(Fading.ChangeActivenessDelayed(b_sharefb.gameObject, true, 2.4f));
        StartCoroutine(Fading.ChangeActivenessDelayed(b_sharetw.gameObject, true, 2.4f));
        Image i_sharevk = b_sharevk.GetComponent <Image>();
        Image i_sharefb = b_sharefb.GetComponent <Image>();
        Image i_sharetw = b_sharetw.GetComponent <Image>();

        StartCoroutine(Fading.FadeUIGraphic <Text>(0f, 1f, 0.1f, t_shareheader, 2f));
        StartCoroutine(Fading.FadeUIGraphic <Image>(0f, 1f, 0.1f, i_sharevk, 2.4f));
        StartCoroutine(Fading.FadeUIGraphic <Image>(0f, 1f, 0.1f, i_sharefb, 2.4f));
        StartCoroutine(Fading.FadeUIGraphic <Image>(0f, 1f, 0.1f, i_sharetw, 2.4f));
    }
示例#8
0
    void ControlWinLoseGroupElements()
    {
        b_menu.interactable = false;
        Image i_menu = b_menu.image;

        StartCoroutine(Fading.FadeUIGraphic <Image>(1f, 0f, 0.05f, i_menu));
        StartCoroutine(Fading.FadeUIGraphic <Text>(1f, 0f, 0.05f, t_timer));
        StartCoroutine(Fading.FadeUIGraphic <Text>(1f, 0f, 0.05f, t_displays));
        StartCoroutine(Fading.FadeUIGraphic <Text>(1f, 0f, 0.05f, t_score));
        winloseGroup.SetActive(true);
        StartCoroutine(Fading.FadeUIGraphic <Image>(0f, 0.6f, 0.05f, i_panel));
        StartCoroutine(Fading.FadeUIGraphic <Text>(0f, 1f, 0.1f, t_winloseheader, 1f));
        StartCoroutine(Fading.FadeUIGraphic <Text>(0f, 1f, 0.1f, t_winlosereason, 1f));
        StartCoroutine(Fading.FadeUIGraphic <Text>(0f, 1f, 0.1f, t_scoreatwin, 1.8f));
        StartCoroutine(Fading.FadeUIGraphic <Text>(0f, 1f, 0.1f, t_scoreheader, 1.8f));
    }
示例#9
0
    public void OnClick_InfoGroup()
    {
        curInfoState = 0;
        ChooseInfoGroup();
        Graphic[] mainMenuItems = mainMenuGroup.GetComponentsInChildren <Graphic>(true);
        for (int i = 0; i < mainMenuItems.Length; i++)
        {
            StartCoroutine(Fading.FadeUIGraphic <Graphic>(1f, 0f, 0.15f, mainMenuItems[i], 0.05f * i)); //fade main menu items
        }
        StartCoroutine(Fading.ChangeActivenessDelayed(mainMenuGroup, false, 1.5f));                     //disable main menu group after it has been faded
        Button[] mainMenuButtons = mainMenuGroup.GetComponentsInChildren <Button>(true);
        for (int i = 0; i < mainMenuButtons.Length; i++)
        {
            mainMenuButtons[i].interactable = false;                            //disable these buttons to prevent bugs
        }

        infoGroup.SetActive(true);
        Graphic[] infoItems = infoGroup.GetComponentsInChildren <Graphic>(true);
        for (int i = 0; i < infoItems.Length; i++)
        {
            StartCoroutine(Fading.FadeUIGraphic <Graphic>(0f, 1f, 0.1f, infoItems[i], 1.5f));
        }
        Button[] infoButtons = infoGroup.GetComponentsInChildren <Button>(true);
        StartCoroutine(Fading.ChangeInteractivityDelayed(infoButtons, true, 1f));                       //enable these buttons delayed to prevent bugs

        DataCenter.LoadData();

        classic.t_lvls.text   = string.Format("{0}", DataCenter.classic.lvlnumber);
        classic.t_won.text    = string.Format("{0}", DataCenter.classic.wins);
        classic.t_lost.text   = string.Format("{0}", DataCenter.classic.loses);
        classic.t_score.text  = string.Format("{0}", DataCenter.classic.score);
        classic.t_record.text = string.Format("{0}", DataCenter.classic.record);

        timeattack.t_lvls.text   = string.Format("{0}", DataCenter.timeattack.lvlnumber);
        timeattack.t_won.text    = string.Format("{0}", DataCenter.timeattack.wins);
        timeattack.t_lost.text   = string.Format("{0}", DataCenter.timeattack.loses);
        timeattack.t_score.text  = string.Format("{0}", DataCenter.timeattack.score);
        timeattack.t_record.text = string.Format("{0}", DataCenter.timeattack.record);

        grid.t_lvls.text   = string.Format("{0}", DataCenter.grid.complexity);
        grid.t_won.text    = string.Format("{0}", DataCenter.grid.successfulAttempts);
        grid.t_lost.text   = string.Format("{0}", DataCenter.grid.failedAttempts);
        grid.t_score.text  = string.Format("{0}", DataCenter.grid.score);
        grid.t_record.text = string.Format("{0}", DataCenter.grid.record);

        t_overallscore.text = string.Format("{0}", DataCenter.overallscore);
    }
示例#10
0
    public void OnClick_BackToMainMenu(string group)
    {
        if (group.Equals("info"))
        {
            Graphic[] infoItems = infoGroup.GetComponentsInChildren <Graphic>(true);
            for (int i = 0; i < infoItems.Length; i++)
            {
                StartCoroutine(Fading.FadeUIGraphic <Graphic>(1f, 0f, 0.1f, infoItems[i]));
            }
            StartCoroutine(Fading.ChangeActivenessDelayed(infoGroup, false, 1f));
            Button[] infoButtons = infoGroup.GetComponentsInChildren <Button>(true);
            for (int i = 0; i < infoButtons.Length; i++)
            {
                infoButtons[i].interactable = false;                            //disable these buttons to prevent bugs
            }
        }
        else if (group.Equals("howtoplay"))
        {
            Graphic[] howToPlayItems = howToPlayGroup.GetComponentsInChildren <Graphic>(true);
            for (int i = 0; i < howToPlayItems.Length; i++)
            {
                StartCoroutine(Fading.FadeUIGraphic <Graphic>(1f, 0f, 0.1f, howToPlayItems[i], 0.05f * i));
            }
            StartCoroutine(Fading.ChangeActivenessDelayed(howToPlayGroup, false, 1f));
            Button[] howToPlayButtons = howToPlayGroup.GetComponentsInChildren <Button>(true);
            for (int i = 0; i < howToPlayButtons.Length; i++)
            {
                howToPlayButtons[i].interactable = false;                               //disable these buttons to prevent bugs
            }
        }

        mainMenuGroup.SetActive(true);
        Graphic[] mainMenuItems = mainMenuGroup.GetComponentsInChildren <Graphic>(true);
        float     delay         = 1f;

        if (group.Equals("info"))
        {
            delay = 0f;
        }
        for (int i = 0; i < mainMenuItems.Length; i++)
        {
            StartCoroutine(Fading.FadeUIGraphic <Graphic>(0f, 1f, 0.15f, mainMenuItems[i], delay + 0.05f * i));
        }
        Button[] mainMenuButtons = mainMenuGroup.GetComponentsInChildren <Button>(true);
        StartCoroutine(Fading.ChangeInteractivityDelayed(mainMenuButtons, true, delay + 0.05f * mainMenuItems.Length));                 //enable these buttons delayed to prevent bugs
    }
示例#11
0
    void Win()
    {
        ControlWinLoseGroupElements();
        t_winloseheader.text = "LEVEL PASSED!";
        t_winlosereason.text = "You have enabled enough displays in time, good job!";
        t_scoreatwin.text    = string.Format("{0}", allscore);
        b_continue.gameObject.SetActive(true);
        Image i_continue = b_continue.GetComponent <Image>();

        StartCoroutine(Fading.FadeUIGraphic <Image>(0f, 1f, 0.1f, i_continue, 3f));
        DataCenter.grid.complexity++;
        DataCenter.grid.successfulAttempts++;
        DataCenter.grid.score = allscore;
        if (stagescore > DataCenter.grid.record)
        {
            DataCenter.grid.record = stagescore;
            ShowShareButtons();
            ShareController.SetScoreToShare(stagescore, "Infinite Grid");
        }
        DataCenter.overallscore += stagescore;
        DataCenter.SaveData();
    }
示例#12
0
    void Update()
    {
        if (!isClassicMode)
        {
            if (timerIsGoing)
            {
                timer       -= Time.deltaTime;
                t_timer.text = string.Format("{0:F1}", timer);
                if (timer <= 0f)
                {
                    timerIsGoing = false;
                    Lose("Timer has run out");
                }
            }

            if (cntdownIsStarted)
            {
                if (countdown > 0f)
                {
                    countdown     -= Time.deltaTime;
                    t_cntdown.text = string.Format("{0:F1}", countdown);
                    if (!cntdownIsSaved && ((winLoseManager.enabledDisplays == winLoseManager.levelDisplays) || (PowerElement.enabledSources == 3)))                                    //winning
                    {
                        savedCntdown          = countdown;
                        cntdownIsSaved        = true;
                        t_winlosecntdown.text = string.Format("{0:F1}", savedCntdown);
                        cntdownIsStarted      = false;
                        StartCoroutine(Fading.FadeUIGraphic <Text>(1f, 0f, 0.07f, t_cntdown));
                    }
                }
                else
                {
                    cntdownIsStarted = false;
                    winLoseManager.LoseCounter();
                }
            }
        }
    }
示例#13
0
 public void ClearComboDisplay()
 {
     StartCoroutine(Fading.FadeUIGraphic <Text>(1f, 0f, 0.2f, t_combo, 0.6f));
     comboDisplays = 0;
 }