public void SpawnAircraftLive(LiveAcmiDataReciever.ACMIdata liveData) { //DICTIONARY KA KAM var key = liveData.TailID; GameObject aircraft; var hasObject = aircrafts.TryGetValue(key, out aircraft); if (hasObject == false) { //instantiate new aircraft = InstantiateAircraft(liveData); aircrafts.Add(key, aircraft); //List with Active Tail ids AllActivetailIds.Add(key.ToString()); } else { // update lat long on aircraft gameobject SetAircraftsPosition(liveData, aircraft); } aircraft.GetComponent <AircraftDataManager>().liveDataPacket = liveData; //For ALL Refrences foreach (GameObject reference in DropDownReferences) { reference.GetComponent <Dropdown>().ClearOptions(); reference.GetComponent <Dropdown>().AddOptions(AllActivetailIds); } }
public GameObject InstantiateAircraft(LiveAcmiDataReciever.ACMIdata liveData) { var aircraftType = liveData.AircraftType; var tailId = liveData.TailID; GameObject instantiatedAirCraft = null; switch (aircraftType) { case 1: instantiatedAirCraft = Instantiate(F16Prefab, transform.position, Quaternion.identity) as GameObject; instantiatedAirCraft.transform.parent = AirCraftParent.transform; instantiatedAirCraft.name = "F16 " + tailId; break; case 3: instantiatedAirCraft = Instantiate(MiragePrefab, transform.position, Quaternion.identity) as GameObject; instantiatedAirCraft.transform.parent = AirCraftParent.transform; instantiatedAirCraft.name = "Mirage " + tailId; break; case 5: instantiatedAirCraft = Instantiate(JF17Prefab, transform.position, Quaternion.identity) as GameObject; instantiatedAirCraft.transform.parent = AirCraftParent.transform; instantiatedAirCraft.name = "JF-17 " + tailId; break; case 8: instantiatedAirCraft = Instantiate(C130Prefab, transform.position, Quaternion.identity) as GameObject; instantiatedAirCraft.transform.parent = AirCraftParent.transform; instantiatedAirCraft.name = "C130 " + tailId; break; default: instantiatedAirCraft = Instantiate(F7Prefab, transform.position, Quaternion.identity) as GameObject; instantiatedAirCraft.transform.parent = AirCraftParent.transform; instantiatedAirCraft.name = "F7 " + tailId; break; } return(instantiatedAirCraft); }
public void liveDataRecieved(LiveAcmiDataReciever.ACMIdata liveData) { if (LiveAcmiDataReciever.receivingUdpClient.Available > 0) { Time = liveData.Time; TailID = liveData.TailID; AircraftType = liveData.AircraftType; Latitude = liveData.Latitude; Longitude = liveData.Longitude; Altitude = liveData.Altitude; Roll = liveData.Roll; Pitch = liveData.Pitch; Heading = liveData.Heading; MachNo = liveData.MachNo; Speed = liveData.Speed; G = liveData.G; Aoa = liveData.Aoa; SpawnAircraftLive(liveData); } }
public void SetAircraftsPosition(LiveAcmiDataReciever.ACMIdata liveData, GameObject aircraft) { float[] xzy = MathCalculations.Convert(liveData.Latitude, liveData.Longitude, liveData.Altitude); float x = xzy[0]; float z = xzy[1]; float y = xzy[2]; updatedPosition = new Vector3(x, y, z); aircraft.transform.localPosition = updatedPosition; float roll = liveData.Roll; float pitch = liveData.Pitch; float heading = liveData.Heading; heading = heading - 180; updatedRotation = Quaternion.Euler(pitch, heading, -roll); aircraft.transform.localRotation = updatedRotation; }