space-shmup/Assets/__Scripts/Enemy.cs

60 lines
1.5 KiB
C#
Raw Normal View History

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Enemy : MonoBehaviour
{
[Header("Set in Inspector: Enemy")]
public float speed = 10f; // The speed in m/s
public float fireRate = 0.3f; // Seconds/shot (Unused)
public float health = 10;
public int score = 100; // Points earned for destroying this
protected BoundsCheck bndCheck;
void Awake() {
bndCheck = GetComponent<BoundsCheck>();
}
// This is a Property: A method that acts like a field
public Vector3 pos {
get {
return( this.transform.position );
}
set {
this.transform.position = value;
}
}
public virtual void Move() {
Vector3 tempPos = pos;
tempPos.y -= speed * Time.deltaTime;
pos = tempPos;
}
void OnCollisionEnter(Collision coll) {
GameObject otherGO = coll.gameObject;
if (otherGO.tag == "ProjectileHero") {
Destroy(otherGO); // Destroy the Projectile
Destroy(gameObject); // Destroy this Enemy GameObject
} else {
print("Enemy hit by non-ProjectileHero: " + otherGO.name);
}
}
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
Move();
if (bndCheck != null && bndCheck.offDown) {
// We're off the bottom, so destroy this GameObject
Destroy(gameObject);
}
}
}