Beispiel #1
0
    // Fade - Gradually displays tint screen.
    IEnumerator Fade(TintInfo info)
    {
        // Initial tint colors are the desired colors, but transparent.
        Color initialTint = info.tintColor;

        initialTint.a = 0;
        Color initialText = info.textColor;

        initialText.a = 0;

        // Fades in the full screen tint over the desired time interval.
        TimeEvent tintFade = new TimeEvent(info.tintFadeLength);

        tm.StartStopwatch(tintFade);
        while (tintFade.duration > 0)
        {
            tint.color = Color.Lerp(initialTint, info.tintColor, tintFade.completion);
            yield return(null);
        }

        // Does the same for the text.
        message.text = info.message;
        TimeEvent textFade = new TimeEvent(info.textFadeLength);

        tm.StartStopwatch(textFade);
        while (textFade.duration > 0)
        {
            message.color = Color.Lerp(initialText, info.textColor, textFade.completion);
            yield return(null);
        }
    }
Beispiel #2
0
    // ShowDeath - Displays death tint screen.
    public void ShowDeath()
    {
        string   deathMessage = deathMessages[Random.Range(0, deathMessages.Count)];       // Chooses a random message.
        TintInfo deathTint    = new TintInfo(deathColor, Color.white, deathMessage, 1.25f, 0.5f);

        Messenger <TintInfo> .Broadcast("Tint", deathTint);
    }
Beispiel #3
0
    // OnVictory - Displays winning text and buttons.
    public IEnumerator OnVictory()
    {
        // Displays a victory tint screen.
        string   winMessage = winMessages[Random.Range(0, winMessages.Count)];       // Chooses a random message.
        TintInfo winTint    = new TintInfo(winColor, Color.white, winMessage, 0.75f, 0.5f);

        Messenger <TintInfo> .Broadcast("Tint", winTint);

        yield return(new WaitForSeconds(0.75f));        // Wait until tint is fully faded in before showing buttons.

        // Makes sure there's a subsequent level, or else disables the Next Level button.
        GameObject nextLevelButton = winOptions.transform.FindChild("Next").gameObject;

        nextLevelButton.GetComponent <Button>().interactable = true;        //(Application.loadedLevel + 1 <= gm.buildLevelCap);

        // Enables victory options.
        winOptions.SetActive(true);
    }
Beispiel #4
0
 // StartFade - Initiates fading coroutine.
 void StartFade(TintInfo info)
 {
     Clear();
     info.routine = StartCoroutine(Fade(info));
 }