public IEnumerator BlueAttackVersus(GameObject _playerToFocus, GameObject _player) { AudioManager.instance.PlayClipAt(sound_BlueAttackVersusSpawn, transform.position); PlayerCharacter playerCharacter = _player.GetComponent <PlayerCharacter>(); Animator animator = GetComponent <Animator>(); yield return(new WaitForSeconds(1.5f)); animator.SetTrigger("fire"); yield return(new WaitForSeconds(0.2f)); for (int i = 0; i < playerCharacter.blueCountBullet; i++) { GameObject bullet = Instantiate(player.GetComponent <PlayerCharacter>().blueBullet, transform.position, Quaternion.identity); AudioManager.instance.PlayClipAt(sound_BlueAttackVersusShot, transform.position); TargetBullet targetBullet = bullet.GetComponent <TargetBullet>(); targetBullet.accuracy = playerCharacter.blueAccuracyBullet; targetBullet.damage = playerCharacter.blueDamageBullet; targetBullet.speed = playerCharacter.blueSpeedBullet; targetBullet.playerToFocus = _playerToFocus; targetBullet.bulletBehaviour = BulletBehaviour.TARGET; yield return(new WaitForSeconds(playerCharacter.blueIntervalSpeedBullet)); } yield return(new WaitForSeconds(1.5f)); animator.SetTrigger("end"); }
public IEnumerator RedRangeAttack() { Dictionary <int, Vector2> localDir = new Dictionary <int, Vector2>(); localDir.Add(0, Vector2.right); localDir.Add(1, Vector2.down); localDir.Add(2, Vector2.left); localDir.Add(3, Vector2.up); Dictionary <int, float> localRot = new Dictionary <int, float>(); localRot.Add(0, 0f); localRot.Add(1, 270f); localRot.Add(2, 180f); localRot.Add(3, 90f); cdRangeAtkRed = true; animator.SetTrigger("range_attack"); AudioManager.instance.PlayClipAt(sound_RedRangeAtk, transform.position); yield return(new WaitForSeconds(0.66f)); AudioManager.instance.PlayClipAt(sound_RedRangeAtk2, transform.position); for (int i = 0; i < 4; i++) { GameObject rangeAttack = Instantiate(playerCharacter.redRangeAttack, transform.position, Quaternion.Euler(0f, 0f, localRot[i])); TargetBullet bullet = rangeAttack.GetComponent <TargetBullet>(); //RangeAttack ra = rangeAttack.GetComponent<RangeAttack>(); //ra.character = Character.RED; bullet.bulletBehaviour = BulletBehaviour.DIRECTIONAL; bullet.speed = playerCharacter.redSpeedBullet; bullet.damage = playerCharacter.redDamageBullet; bullet.dirrectionBullet = localDir[i]; bullet.player = this.gameObject; } yield return(new WaitForSeconds(0.5f)); cdRangeAtkRed = false; }