ofb/Assets/Scripts/ProjectileEnemy.cs

28 lines
840 B
C#
Raw Permalink Normal View History

2023-04-11 19:55:24 -07:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ProjectileEnemy : MonoBehaviour
{
2023-04-11 19:55:24 -07:00
[SerializeField] GameObject projectile;
[SerializeField] GameObject firePoint;
[SerializeField][Range(0.1f, 3f)] float fireSpeed;
[SerializeField] float projectileSpeed;
2023-04-11 19:55:24 -07:00
// Start is called before the first frame update
void Start()
{
2023-04-11 19:55:24 -07:00
StartCoroutine(Fire());
}
IEnumerator Fire()
{
yield return new WaitForSeconds(1 / fireSpeed);
2023-04-11 19:55:24 -07:00
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));
2023-04-11 19:55:24 -07:00
StartCoroutine(Fire());
}
}