using System.Collections; using System.Collections.Generic; using UnityEngine; public class Enemy : MonoBehaviour { [SerializeField] private GameObject powerDrop; [SerializeField] private PowerLevels powerLevel; private float power = 1.0f; private enum PowerLevels { VeryLow, Low, Medium, High, Full} private EnemyAI.BehaviorController behaviorController; private DayTimeManager dayTimeManager; private bool dead = false; void OnCollisionEnter(Collision collision) { if(!dead) { if (collision.collider.tag == "Bullet") { Death(); } } } // Use this for initialization void Start () { dayTimeManager = GameObject.FindObjectOfType(); behaviorController = new EnemyAI.BehaviorController(); behaviorController.blackboard.navMeshAgent = GetComponent(); } // Update is called once per frame void Update () { if (!dead) { EnemyAI.Blackboard blackboard = behaviorController.blackboard; if (dayTimeManager.dayTimeLabel == DayTimeLabel.Night) { blackboard.Night = true; } else { blackboard.Night = false; } blackboard.PlayerPosition = GameObject.FindGameObjectWithTag("Player").transform.position; blackboard.EnemyPosition = transform.position; behaviorController.Update(); } } private void Death() { dead = true; GetComponent().isStopped = true; GameObject go = GameObject.Instantiate(powerDrop); go.GetComponent().powerAmount = power; go.transform.position = gameObject.transform.position; GameObject.Destroy(gameObject); } }