Compare commits
3 Commits
94a0a051cd
...
19049e6860
| Author | SHA1 | Date |
|---|---|---|
|
|
19049e6860 | |
|
|
4c944a7444 | |
|
|
8eac208ce0 |
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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("没有攻击到目标");
|
||||
//}
|
||||
});
|
||||
}
|
||||
//}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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>());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue