/// <summary> /// Basic function to instantiate a projectile /// </summary> /// <param name="dir"></param> /// <param name="force"></param> void LaunchProjectile(Vector2 dir, float force) { GameObject projectileObject = Instantiate(projectilePrefab, rigidbody2D.position + Vector2.up * 1f, Quaternion.identity); ProjectileEnemy projectile = projectileObject.GetComponent <ProjectileEnemy>(); projectile.Launch(dir, force); }
/// <summary> /// Launches projectile /// </summary> protected virtual void Launch() { GameObject projectileObject = Instantiate(projectilePrefab, rigidbody2D.position + Vector2.up * 0.5f, Quaternion.identity); ProjectileEnemy projectile = projectileObject.GetComponent <ProjectileEnemy>(); projectile.Launch(dir, 120); }
void Attack() { GameObject projectileObject = Instantiate(projectilePrefab, rigidbody2d.position + Vector2.up * 0.5f, Quaternion.identity); ProjectileEnemy projectile = projectileObject.GetComponent <ProjectileEnemy>(); projectile.Launch(lookDirection, 300); }
void Launch() { animator.SetTrigger("Launch"); GameObject projectileObject = Instantiate(projectilePrefab, rigidbody2D.position + Vector2.up * 0.5f, Quaternion.identity); ProjectileEnemy projectile = projectileObject.GetComponent <ProjectileEnemy>(); projectile.Launch(new Vector2(0, -1), 500); playSound(launchSound); }
override public IEnumerator Perform(Enemy enemyScript) { Vector3 directionToPlayer = (enemyScript.player.transform.position - enemyScript.transform.position).normalized; GameObject projectileObject = Instantiate(projectilePrefab, enemyScript.transform.position + directionToPlayer, Quaternion.identity, enemyScript.transform); ProjectileEnemy projectile = projectileObject.GetComponent <ProjectileEnemy>(); projectile.Launch(directionToPlayer, 300); return(base.Perform(enemyScript)); }
override public IEnumerator Perform(Enemy enemyScript) { if (animator == null) { animator = enemyScript.GetComponent <Animator>(); } Vector3 directionToPlayer = (enemyScript.player.transform.position - enemyScript.transform.position).normalized; animator.SetFloat("Move X", directionToPlayer.x); animator.SetTrigger("Attack"); yield return(new WaitForSeconds(1)); GameObject projectileObject = Instantiate(projectilePrefab, enemyScript.transform.position + directionToPlayer, Quaternion.identity); ProjectileEnemy projectile = projectileObject.GetComponent <ProjectileEnemy>(); projectile.Launch(directionToPlayer, 300); yield return(base.Perform(enemyScript)); }