39 lines
968 B
C#
39 lines
968 B
C#
using System;
|
|
using UnityEngine;
|
|
|
|
public class Projectile : MonoBehaviour
|
|
{
|
|
private Rigidbody theRB;
|
|
[SerializeField] private float moveSpeed;
|
|
[SerializeField] private float damageAmount;
|
|
[SerializeField] private GameObject impactEffect;
|
|
void Awake()
|
|
{
|
|
theRB = GetComponent<Rigidbody>();
|
|
}
|
|
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
|
void Start()
|
|
{
|
|
theRB.linearVelocity = transform.forward * moveSpeed;
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update()
|
|
{
|
|
|
|
}
|
|
void OnTriggerEnter(Collider other)
|
|
{
|
|
if(other.tag == "Enemy")
|
|
{
|
|
other.GetComponent<EnemyHealthController>().TakeDamage(damageAmount);
|
|
Instantiate(impactEffect, transform.position, transform.rotation);
|
|
Destroy(gameObject);
|
|
}
|
|
}
|
|
void OnBecameVisible()
|
|
{
|
|
Destroy(gameObject);
|
|
}
|
|
}
|