Basis festgelegt

This commit is contained in:
2026-10-06 09:31:55 +02:00
parent 9e5822a37c
commit 0a801ed82c
17 changed files with 1243 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
using System.Collections.Generic;
using UnityEngine;
public class EnemyTargetManager : MonoBehaviour
{
[SerializeField]
private List<Transform> targetPoints = new List<Transform>();
public Transform GetClosestActiveTarget(Vector3 position)
{
List<Transform> closestTargets =
new List<Transform>();
float closestDistanceSqr = float.MaxValue;
foreach (Transform target in targetPoints)
{
if (target == null || !target.gameObject.activeInHierarchy)
continue;
float distanceSqr =
(target.position - position).sqrMagnitude;
if (distanceSqr < closestDistanceSqr)
{
closestDistanceSqr = distanceSqr;
closestTargets.Clear();
closestTargets.Add(target);
}
else if (Mathf.Approximately(
distanceSqr,
closestDistanceSqr))
{
closestTargets.Add(target);
}
}
if (closestTargets.Count == 0)
return null;
int randomIndex = Random.Range(
0,
closestTargets.Count
);
return closestTargets[randomIndex];
}
}