| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- 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<DayTimeManager>();
- behaviorController = new EnemyAI.BehaviorController();
- behaviorController.blackboard.navMeshAgent = GetComponent<UnityEngine.AI.NavMeshAgent>();
- }
-
- // 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<UnityEngine.AI.NavMeshAgent>().isStopped = true;
- GameObject go = GameObject.Instantiate(powerDrop);
- go.GetComponent<PowerDrop>().powerAmount = power;
- go.transform.position = gameObject.transform.position;
- GameObject.Destroy(gameObject);
- }
- }
|