修改无人机动态设置攻击目标

This commit is contained in:
YangHua 2024-01-19 16:49:41 +08:00
parent f16afb084b
commit 24512a33c2
2 changed files with 13 additions and 8 deletions

View File

@ -104,7 +104,6 @@ public class DeviceManager : MonoSingleton<DeviceManager>
public void SetCollider4WRJ(List<Collider> attackColliders) public void SetCollider4WRJ(List<Collider> attackColliders)
{ {
int _number = Random.Range(0, attackColliders.Count - 1);
if (attackColliders.Count > 0) if (attackColliders.Count > 0)
{ {
List<UnmannedAerialVehicleManage> temp = GetGXWRJAndZSWRJ(); List<UnmannedAerialVehicleManage> temp = GetGXWRJAndZSWRJ();
@ -113,9 +112,12 @@ public class DeviceManager : MonoSingleton<DeviceManager>
for (int j = 0; j < temp[i].unmannedAerialVehicles.Count; j++) for (int j = 0; j < temp[i].unmannedAerialVehicles.Count; j++)
{ {
if(temp[i].unmannedAerialVehicles[j] != null && temp[i].unmannedAerialVehicles[j].gameObject.activeSelf) if (temp[i].unmannedAerialVehicles[j] != null && temp[i].unmannedAerialVehicles[j].gameObject.activeSelf)
{ {
temp[i].unmannedAerialVehicles[j].AttAck(attackColliders[_number].transform); if (temp[i].unmannedAerialVehicles[j].attackTarget == null)
{
temp[i].unmannedAerialVehicles[j].AttAck(attackColliders[i].transform);
}
} }
} }
} }

View File

@ -269,6 +269,9 @@ public class UnmannedAerialVehicleManage : MonoBehaviour
} }
} }
public List<Collider> allColliders = new List<Collider>();
public List<Collider> attackColliders1 = new List<Collider>();
/// <summary> /// <summary>
/// 攻击打击 /// 攻击打击
@ -278,12 +281,12 @@ public class UnmannedAerialVehicleManage : MonoBehaviour
//if (isEngagedTarget) return; //if (isEngagedTarget) return;
if (wrjModel == WRJModel. || wrjModel == WRJModel.) if (wrjModel == WRJModel. || wrjModel == WRJModel.)
{ {
List<Collider> colliders = Physics.OverlapSphere(transform.position, detectionRadius).ToList(); // 检索范围内的所有碰撞体 allColliders = Physics.OverlapSphere(transform.position, detectionRadius).ToList(); // 检索范围内的所有碰撞体
List<Collider> attackColliders1 = new List<Collider>(); attackColliders1 = new List<Collider>();
for (int i = 0; i < colliders.Count; i++) for (int i = 0; i < allColliders.Count; i++)
{ {
if (colliders[i].transform.tag == "AttackTarget") if (allColliders[i].transform.tag == "AttackTarget")
attackColliders1.Add(colliders[i]); attackColliders1.Add(allColliders[i]);
} }
if (wrjModel == WRJModel.) if (wrjModel == WRJModel.)