WIP Laser System
using UnityEngine; using System.Collections;
// /*
WIP Laser Code for Enemy
- CJ (4/23)
*/ //
public class EnemyAttack : MonoBehaviour { public GameObject target; public float attackTime; public float coolDown; private Transform player; private shieldHealth shieldHealth; private bool laserBeam; private float scaledDamage; public float minimumDamage = 1f; public float maximumDamage = 10f; public enum State{Limbo, Normal, Guard, Shooting}; private LineRenderer laserShot;
void Awake(){
laserShot = GetComponentInChildren<LineRenderer>(); laserShot.enabled = false; player = GameObject.FindWithTag ("Player").transform; shieldHealth = player.gameObject.GetComponent<shieldHealth>(); scaledDamage = maximumDamage - minimumDamage; }
void Start () { attackTime = 0; coolDown = 2.0f; }
void Update () { if(attackTime > 0) attackTime -= Time.deltaTime; updateGuard(); if(attackTime < 0) attackTime = 0; if(attackTime == 0) { Attack(); updateShooting(); attackTime = coolDown; } }
private void updateNormal(){} private void updateLimbo(){} private void updateGuard(){} private void updateShooting(){} private void Attack() { float distance = Vector3.Distance(target.transform.position, transform.position); Vector3 dir = (target.transform.position - transform.position).normalized; transform.LookAt(target); float direction = Vector3.Dot(dir, transform.forward); if(distance < 2.5f) { if(direction > 0) { shieldHealth eh = (shieldHealth)target.GetComponent("shieldHealth"); eh.AddjustCurrentHealth(-10); } } }
void Shoot () { shooting = true; float damage = scaledDamage * distance + minimumDamage;
// The player shield takes damage. shieldHealth.TakeDamage(damage); } }















