ofb/Assets/Scripts/ProjectileEnemy.cs

28 lines
840 B
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ProjectileEnemy : MonoBehaviour
{
[SerializeField] GameObject projectile;
[SerializeField] GameObject firePoint;
[SerializeField][Range(0.1f, 3f)] float fireSpeed;
[SerializeField] float projectileSpeed;
// Start is called before the first frame update
void Start()
{
StartCoroutine(Fire());
}
IEnumerator Fire()
{
yield return new WaitForSeconds(1 / fireSpeed);
GameObject newProjectile = Instantiate(projectile, firePoint.transform.position, firePoint.transform.rotation);
newProjectile.GetComponent<Rigidbody2D>().AddRelativeForce(new Vector2(projectileSpeed, 0));
newProjectile.transform.Rotate(new Vector3(0, 0, -90));
StartCoroutine(Fire());
}
}