Compare commits

...

3 Commits

Author SHA1 Message Date
YangHua 19049e6860 12121 2024-03-27 23:08:53 +08:00
YangHua 4c944a7444 Merge branch 'master' of http://git.umayle.com:2023/yulong/NewN_UAVPlane 2024-03-27 20:49:00 +08:00
YangHua 8eac208ce0 212 2024-03-27 20:48:54 +08:00
4 changed files with 60 additions and 40 deletions

View File

@ -321,7 +321,7 @@ public class GameManager : MonoSingleton<GameManager>
}
break;
case "StartDeduction":
CheckRoomState();
CheckRoomState("state=1");
break;
case "蜂群无人机":
SpawnDevice(wrjDrag.prefabItem, data);
@ -342,19 +342,16 @@ public class GameManager : MonoSingleton<GameManager>
SpawnDevice(wbDrag.prefabItem, data);
break;
case "Stop":
GlobalFlag.isStartRehearsing = false;
for (int i = 0; i < DeviceManager.Instance.devices.Count; i++)
{
DeviceManager.Instance.devices[i].isStartRehearsing = false;
}
CheckRoomState("state=0");
break;
case "EndDeduction":
GlobalFlag.isStartRehearsing = false;
for (int i = 0; i < DeviceManager.Instance.devices.Count; i++)
{
DeviceManager.Instance.devices[i].isStartRehearsing = false;
}
CheckRoomState("state=0");
//GlobalFlag.isStartRehearsing = false;
//for (int i = 0; i < DeviceManager.Instance.devices.Count; i++)
//{
// DeviceManager.Instance.devices[i].isStartRehearsing = false;
//}
break;
case "offline":
@ -374,11 +371,14 @@ public class GameManager : MonoSingleton<GameManager>
}
public async void CheckRoomState()
public async void CheckRoomState(string state)
{
RoomState roomState = await AsyncWebReq.Post<RoomState>(Url_UpdateRoomState + GlobalFlag.roomID + "&state=1", null);
RoomState roomState = await AsyncWebReq.Post<RoomState>(Url_UpdateRoomState + GlobalFlag.roomID +"&" + state, null);
if (roomState.message == "success")
{
if(state == "state=1")
{
GlobalFlag.isStartRehearsing = true;
for (int i = 0; i < DeviceManager.Instance.devices.Count; i++)
{
@ -389,6 +389,15 @@ public class GameManager : MonoSingleton<GameManager>
currentSpt.GetComponent<Camera>().cullingMask = TeacherLayer;
//currentSpt.GetComponent<Camera>().cullingMask &= ~(1 << 15);
}
}
else
{
GlobalFlag.isStartRehearsing = false;
for (int i = 0; i < DeviceManager.Instance.devices.Count; i++)
{
DeviceManager.Instance.devices[i].isStartRehearsing = false;
}
}
}
}

View File

@ -125,7 +125,7 @@ public class UnmannedAerialVehicle : MonoBehaviour
+ "编号" + serialNumber + "子无人机" + "自杀式攻击自爆了";
UploadLog(_log);
}
if(explodePrefab&&transform)
if (explodePrefab && transform)
{
GameObject Bao = Instantiate(explodePrefab, transform);
Bao.transform.localPosition = Vector3.zero;
@ -258,29 +258,29 @@ public class UnmannedAerialVehicle : MonoBehaviour
Vector3 _v3 = attackTarget.position;
transform.DOLookAt(_v3, 0.1f).OnComplete(() =>
{
if (wrjModel == WRJModel.)
{
Debug.Log("光学无人机攻击");
StopCoroutine(RangedAttack());
StartCoroutine(RangedAttack());
}
else
{
//if (wrjModel == WRJModel.光学无人机)
//{
// //Debug.Log("光学无人机攻击");
// //StopCoroutine(RangedAttack());
// //StartCoroutine(RangedAttack());
//}
//else
//{
string nowData = GetSyncData(attackTarget);
Debug.Log(nowData);
MyNetMQClient.instance.Send(nowData);
//_ = SyncCreateRoom.SendMessageAsync(string.Format("send2room {0}", nowData));
//DeviceManager.Instance.send2roomStr.Enqueue(nowData);
//MQTTManager.instance.SendData(MQTTManager.instance.SingleDronePosition, nowData);
float distance = Vector3.Distance(transform.position, attackTarget.position);
transform.DOMove(attackTarget.position, distance / FireSpeed).SetEase(Ease.Linear).OnComplete(() =>
{
Debug.Log(nowData);
MyNetMQClient.instance.Send(nowData);
//_ = SyncCreateRoom.SendMessageAsync(string.Format("send2room {0}", nowData));
//DeviceManager.Instance.send2roomStr.Enqueue(nowData);
//MQTTManager.instance.SendData(MQTTManager.instance.SingleDronePosition, nowData);
float distance = Vector3.Distance(transform.position, attackTarget.position);
transform.DOMove(attackTarget.position, distance / FireSpeed).SetEase(Ease.Linear).OnComplete(() =>
{
//if (!attackTarget)
//{
// //BeAssaulted("没有攻击到目标");
//}
});
}
//}
});
}
}

View File

@ -489,9 +489,15 @@ public class UnmannedAerialVehicleManage : MonoBehaviour
public List<Collider> attackColliders1 = new List<Collider>();
private bool GetAttackTarget(GameObject c)
{
if (Vector3.Distance(transform.position, c.transform.position) < 500f)
return true;
else
return false;
}
/// <summary>
/// 攻击打击
@ -501,27 +507,31 @@ public class UnmannedAerialVehicleManage : MonoBehaviour
//if (isEngagedTarget) return;
//if (wrjModel == WRJModel.电子侦察无人机 || wrjModel == WRJModel.光学无人机)
List<GameObject> allColliders = GameObject.FindGameObjectsWithTag("AttackTarget").ToList().FindAll(GetAttackTarget);
if (wrjModel == WRJModel.)
{
List<Collider> allColliders = Physics.OverlapSphere(transform.position,500).ToList(); // 检索范围内的所有碰撞体
//List<Collider> allColliders = Physics.OverlapSphere(transform.position,500).ToList(); // 检索范围内的所有碰撞体
for (int i = 0; i < allColliders.Count; i++)
{
attackColliders1.Add(allColliders[i]);
if (!attackColliders1.Contains(allColliders[i].GetComponent<Collider>()))
attackColliders1.Add(allColliders[i].GetComponent<Collider>());
}
}
else if (wrjModel == WRJModel.)
{
List<Collider> allColliders = Physics.OverlapSphere(transform.position,500).ToList(); // 检索范围内的所有碰撞体
//List<Collider> allColliders = Physics.OverlapSphere(transform.position, 500).ToList(); // 检索范围内的所有碰撞体
//List<GameObject> allColliders = GameObject.FindGameObjectsWithTag("AttackTarget").ToList().FindAll(GetAttackTarget);
for (int i = 0; i < allColliders.Count; i++)
{
if (allColliders[i].gameObject.tag == "AttackTarget" && !allColliders[i].isTrigger && !attackColliders1.Contains(allColliders[i]))
if (!allColliders[i].GetComponent<Collider>().isTrigger && !attackColliders1.Contains(allColliders[i].GetComponent<Collider>()))
{
Vector3 pos = gxWRJCamera.WorldToViewportPoint(allColliders[i].transform.position);
bool ispcamera = (pos.x > 0 && pos.x < 1 && pos.y > 0 && pos.y < 1 && pos.z > 0);
if (ispcamera)
{
attackColliders1.Add(allColliders[i]);
if (!attackColliders1.Contains(allColliders[i].GetComponent<Collider>()))
attackColliders1.Add(allColliders[i].GetComponent<Collider>());
}
}
}

View File

@ -58,6 +58,7 @@ public class RadioAngleView : MonoBehaviour
}
private void Update()
{
if (!GlobalFlag.isStartRehearsing) return;
if (typeWRJ != WRJModel.) return;
targets = GameObject.FindGameObjectsWithTag("AttackTarget").ToList().FindAll(GetQualifiedEquipment);
if (targets.Count == 0) return;