// Preparing summon function IEnumerator prepareSummon() { // Set ball dimly GetComponent <SpriteRenderer>().color = new Color(255f, 255f, 255f, 0.2f); yield return(new WaitForSeconds(1.5f)); // Save current time float nowTime = Time.time; // Do alpha animation Color color; do { // Add alpha accoring to time color = GetComponent <SpriteRenderer>().color; color.a += Time.time - nowTime; nowTime = Time.time; GetComponent <SpriteRenderer>().color = color; yield return(null); }while (color.a <= 1f); // If not fever mode, change idle image if (!FeverControl.Fever()) { realIdle = Idle; GetComponent <SpriteRenderer>().sprite = realIdle; } // Summon start StartCoroutine(startSummon()); }
private void OnTriggerEnter2D(Collider2D other) { other.gameObject.SetActive(false); StartCoroutine(HitBoard()); // Not Fever if (!FeverControl.Fever()) { // Hit Right if (other.transform.tag == transform.tag) { FeverGage.fillAmount += 0.02f; StartCoroutine(FeverColorChange()); timer.StartCoroutine(timer.TimerChange("RIGHT")); ScoreControl.Score += 20; } // Hit Wrong else { timer.StartCoroutine(timer.TimerChange("WRONG")); } } // Fever Mode else { ScoreControl.Score += 20; timer.StartCoroutine(timer.TimerChange("RIGHT")); } }
// Update is called once per frame void Update() { // If fevermode, normalTime is so tight if (FeverControl.Fever()) { normalTime = feverTime; } // If stage is 0, normal mode if (level == 0) { if (Time.time > time + normalTime) { // Set seed randomly if (zenNum >= 4) { zenNum = 0; ranNum = Random.Range(0, 6); } // Summon monsters normalBlack.MakeObject(seed[ranNum][zenNum]); zenNum++; normalWhite.MakeObject(seed[ranNum][zenNum]); zenNum++; time = Time.time; // Decrease summon period if (normalTime > normalLimit) { normalTime = normalTime * 0.99f; } else { normalTime = normalLimit; } } } }
// Call at active void OnEnable() { // Decide animator if (FeverControl.Fever()) { GetComponent <Animator>().runtimeAnimatorController = feverAmt; } else { GetComponent <Animator>().runtimeAnimatorController = norAmt; } // Animator disabled Amt.enabled = false; // Set idle sprite depending on fever if (FeverControl.Fever()) { realIdle = feverIdle; } else { realIdle = preIdle; } GetComponent <SpriteRenderer>().sprite = realIdle; // Set alpha low GetComponent <SpriteRenderer>().color = new Color(255f, 255f, 255f, 0.2f); // Set first state speed = 0; // Start checking fever StartCoroutine(feverEvent()); // Prepare summon StartCoroutine(prepareSummon()); }
IEnumerator HitBoard() { if (!FeverControl.Fever()) { GetComponent <Image>().sprite = Hit; } else { GetComponent <Image>().sprite = Hit_Fever; } yield return(new WaitForSeconds(0.2f)); if (!FeverControl.Fever()) { GetComponent <Image>().sprite = Idle; } else { GetComponent <Image>().sprite = Idle_Fever; } }
// Timer's function according to hitting board public IEnumerator TimerChange(string state) { // Fever check if (!FeverControl.Fever()) { // If hit wrong board if (state == "WRONG") { GetComponent <SpriteRenderer>().sprite = TiAngry; transform.Translate(-unLength * 100, 0, 0); } // If hit right board else { GetComponent <SpriteRenderer>().sprite = TiSmile; transform.Translate(unLength * 100, 0, 0); } yield return(new WaitForSeconds(0.6f)); GetComponent <SpriteRenderer>().sprite = TiIdle; } // If fever mode is on else { GetComponent <SpriteRenderer>().sprite = TiSmile_Fever; transform.Translate(unLength * 100, 0, 0); yield return(new WaitForSeconds(0.6f)); // Still fever mode is on if (FeverControl.Fever()) { GetComponent <SpriteRenderer>().sprite = TiIdle_Fever; } } }