public void SetMessage(string msg) { messageBar.text = msg; messageShadow.text = msg; Color startColor1 = messageBar.color; startColor1.a = 1; messageBar.color = startColor1; Color endColor1 = messageBar.color; endColor1.a = 0; Color startColor2 = messageShadow.color; startColor2.a = 1; messageShadow.color = startColor2; Color endColor2 = messageShadow.color; endColor2.a = 0; messageBar.gameObject.SetActive(true); messageShadow.gameObject.SetActive(true); aq.Reset(); aq.Delay(messageHold); aq.AddCoroutine(startColor1.LerpColor(endColor1, messageFade, (Color c) => messageBar.color = c)); aq.AddCoroutine(startColor2.LerpColor(endColor2, messageFade, (Color c) => messageShadow.color = c)); aq.Delay(messageFade); aq.Add(() => messageBar.gameObject.SetActive(false)); aq.Add(() => messageShadow.gameObject.SetActive(false)); aq.Run(); }
public void endGame() { gameOver = true; gameOverText.enabled = true; gameOverText.text = ""; lastScore = score; if (lastScore > highScore) { highScore = lastScore; PlayerPrefs.SetInt("highScore", highScore); } aq.Delay(1f); string msg = "GAME OVER"; int i = 0; foreach (char letter in msg) { aq.Add(() => gameOverText.text += msg[i++]); if (letter != ' ') { aq.PlaySound("click"); } aq.Delay(0.2f); } aq.Delay(2f); aq.Add(() => SceneManager.LoadScene("Main")); aq.Run(); }
private void Reset() { level.Load(); Inventory.instance.Reset(); player.SetActive(false); portal.Appear(); timer.gameObject.SetActive(level.data.timer > 0); timer.SetTime(level.data.timer); message.SetMessage(level.data.message); aq.Delay(0.9f); aq.Add(() => { if (level.data.specialStart) { player.transform.position = new Vector3(-3, -3.74626f, 0); } else { player.transform.position = portal.transform.position; } player.SetActive(true); playerPS.Play(); if (timer.gameObject.activeSelf) { timer.StartTimer(); } }); aq.Run(); }
// After clearing the last message, you can then queue up another message public MessageBar queueMessage(string msg, bool hold = false) { aq.Add(() => setMessage(msg)); aq.AddCoroutine(outsideY.LerpFloat(insideY, speed, (f) => moveGroup(f), curve)); if (!hold) { aq.Delay(speed); aq.Delay(pause); aq.AddCoroutine(insideY.LerpFloat(outsideY, speed, (f) => moveGroup(f), curve)); aq.Delay(speed); } return(this); }
public void setMessage(string msg) { messageText.text = msg; transform.position = new Vector3(transform.position.x, startY, transform.position.z); gameObject.SetActive(true); aq.Reset(); aq.Add(() => StartCoroutine(transform.LerpPosition(new Vector3(transform.position.x, endY, transform.position.z), moveSpeed))); aq.Delay(moveSpeed); aq.Delay(holdTime); aq.Add(() => StartCoroutine(transform.LerpPosition(new Vector3(transform.position.x, startY, transform.position.z), moveSpeed))); aq.Delay(moveSpeed); aq.Add(() => gameObject.SetActive(false)); aq.Run(); }
void Start() { scoreText.text = ""; TransitionToScene tts = playButtonGO.GetComponent <TransitionToScene>(); tts.clickEvent.AddListener(() => SoundManager.instance.Stop("theme")); // Show long intro ONLY if this is the first scene loaded. // Otherwise show the fast intro. if (string.IsNullOrEmpty(App.instance.lastScene)) { aq.Delay(0.5f); float d = fadeTime; foreach (GameObject element in elements) { Transform tf = element.transform; tf.localScale = new Vector3(4f, 4f, 1f); SpriteRenderer sr = element.GetComponent <SpriteRenderer>(); Color origColor = sr.color; Color tempColor = origColor; tempColor.a = 0; sr.color = tempColor; aq.Add(() => { StartCoroutine(tf.LerpScale(new Vector3(1f, 1f, 1f), d)); StartCoroutine(sr.color.LerpColor(origColor, d, (v) => sr.color = v)); }); aq.PlaySound("drop"); aq.Delay(d); d *= 0.7f; } } aq.Add(() => updateScore()); aq.Delay(0.35f); if (!SoundManager.instance.GetSource("theme").isPlaying) { aq.PlaySound("theme"); } aq.Run(); }
public void startGame() { button.interactable = false; SoundManager.instance.Play("click"); // WTF, Color.Lerp is backwards? Durp! StartCoroutine(Color.clear.LerpColor(Color.white, fadeTime, (c) => { fadeCurtain.color = c; } )); ActionQueue aq = gameObject.AddComponent <ActionQueue>(); aq.Delay(fadeTime); aq.Add(() => { SceneManager.LoadScene(nextScene); }); aq.Run(); }