| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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 bool dead = false;
- void OnCollisionEnter(Collision collision)
- {
- if(!dead)
- {
- if (collision.collider.tag == "Bullet")
- {
- Death();
- }
- }
- }
- // Use this for initialization
- void Start ()
- {
- 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;
- // TODO get state
- blackboard.Night = true;
- 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);
- }
- }
|