using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BeeScript : MonoBehaviour
{
public float Speed;
public Rigidbody rb;
public Transform Target;
// Start is called before the first frame update
void Start()
{
rb = GetComponent(); // Get Rigidbody
}
// Update is called once per frame
void Update()
{
FindClosestEnemy(); // Find Enemy with EnemyScript
Roll();//Roll to Enemy
}
void FindClosestEnemy()
{
float distanceToClosestEnemy = Mathf.Infinity;
Enemy closestEnemy = null;
Enemy[] allEnemies = GameObject.FindObjectsOfType();
foreach (Enemy currentEnemy in allEnemies)
{
float distanceToEnemy = (currentEnemy.transform.position - this.transform.position).sqrMagnitude;
if (distanceToEnemy < distanceToClosestEnemy)
{
distanceToClosestEnemy = distanceToEnemy;
closestEnemy = currentEnemy;
Target = currentEnemy; // This Part wont work! ;-;
}
}
Debug.DrawLine(this.transform.position, closestEnemy.transform.position);
}
void Roll()
{
rb.AddForce((Target.position - transform.position) * Speed); //Slower if closer
}
}
↧