private void Dash() { // Dash Right if (Input.GetKeyDown(KeyCode.RightArrow)) { dashFeedback.Invoke(gameObject); velocity += Vector3.right * dashStrength * Time.timeScale; cooldownTimer = 0.0f; } // Dash Left else if (Input.GetKeyDown(KeyCode.LeftArrow)) { dashFeedback.Invoke(gameObject); velocity += Vector3.left * dashStrength * Time.timeScale; cooldownTimer = 0.0f; } // Dash Up else if (Input.GetKeyDown(KeyCode.UpArrow)) { dashFeedback.Invoke(gameObject); velocity += Vector3.forward * dashStrength * Time.timeScale; cooldownTimer = 0.0f; } // Dash Down else if (Input.GetKeyDown(KeyCode.DownArrow)) { dashFeedback.Invoke(gameObject); velocity += Vector3.back * dashStrength * Time.timeScale; cooldownTimer = 0.0f; } }
private IEnumerator BlockSpawner(int amount) { for (int i = 0; i < amount; i++) { int r = Random.Range(0, blockPrefabs.Length); Quaternion rot = Random.rotation; rot.eulerAngles = new Vector3(0.0f, 0.0f, rot.eulerAngles.z); GameObject go = Instantiate(blockPrefabs[r], new Vector3(Random.Range(-6.0f, 6.0f), -11.0f, 0.0f), rot); go.transform.localScale = blockPrefabs[r].transform.localScale; go.GetComponent <Rigidbody>().velocity = new Vector3(0.0f, -10.0f, 0.0f); activeBlocks.Add(go); spawnJuice.Invoke(go); AkSoundEngine.PostEvent("Shadow_attack", go); yield return(new WaitForSeconds(0.5f)); } yield return(null); }