public void getAirports() { VTMapManager[] mm = FindObjectsOfType <VTMapManager>(); foreach (AirportManager manager in mm[0].airports) { newEntry = actorProcessor.airportEntry(manager); dataLog.Append("\n" + newEntry.ACMIString()); } }
public void TacViewDataLogACMI() { actors = TargetManager.instance.allActors; acmiString = ""; // Processing game actors foreach (var actor in actors) { if (actor != null) { acmiString = ""; support.UpdateID(actor); newEntry = buildDataEntry(actor); // If this is already a tracked actor if (knownActors.ContainsKey(support.GetObjectID(actor))) { oldEntry = knownActors[support.GetObjectID(actor)]; // Diff the old entry and the new entry. Update the old entry with the new entry. //acmiString = newEntry.ACMIString(); acmiString = newEntry.ACMIString(oldEntry); knownActors[support.GetObjectID(actor)] = newEntry; } else { acmiString = newEntry.ACMIString(); knownActors.Add(support.GetObjectID(actor), newEntry); } if ((acmiString != "") && (acmiString.Contains(","))) { dataLog.Append("\n" + acmiString); } } else { //support.WriteLog("Error - Got a null actor!"); } } // Getting flares and processing them acmiString = ""; foreach (var flare in getFlares()) { acmiString = ""; support.UpdateID(flare); newEntry = buildFlareEntry(flare); if (knownActors.ContainsKey(support.GetObjectID(flare))) { oldEntry = knownActors[support.GetObjectID(flare)]; acmiString = newEntry.ACMIString(oldEntry); knownActors[support.GetObjectID(flare)] = newEntry; } else { acmiString = newEntry.ACMIString(); knownActors.Add(support.GetObjectID(flare), newEntry); } if (acmiString != "") { dataLog.Append("\n" + acmiString); } } // Getting Chaff and processing them acmiString = ""; foreach (var chaff in getChaff()) { acmiString = ""; support.UpdateID(chaff); newEntry = buildChaffEntry(chaff); if (knownActors.ContainsKey(support.GetObjectID(chaff))) { oldEntry = knownActors[support.GetObjectID(chaff)]; acmiString = newEntry.ACMIString(oldEntry); knownActors[support.GetObjectID(chaff)] = newEntry; } else { acmiString = newEntry.ACMIString(); knownActors.Add(support.GetObjectID(chaff), newEntry); } if (acmiString != "") { dataLog.Append("\n" + acmiString); } } // Getting bullets and processing them foreach (var bullet in getBullets()) { /* If this isn't active, don't update it or use it */ if (!bullet.isActiveAndEnabled) { continue; } support.UpdateID(bullet); newEntry = buildBulletEntry(bullet); acmiString = ""; if (knownActors.ContainsKey(support.GetObjectID(bullet))) { oldEntry = knownActors[support.GetObjectID(bullet)]; acmiString = newEntry.ACMIString(oldEntry); knownActors[support.GetObjectID(bullet)] = newEntry; } else { acmiString = newEntry.ACMIString(); knownActors.Add(support.GetObjectID(bullet), newEntry); } if (acmiString != "") { dataLog.Append("\n" + acmiString); } } foreach (var rocket in getRockets()) { /* If this isn't active, don't update it or use it */ if (!rocket.isActiveAndEnabled) { continue; } support.UpdateID(rocket); newEntry = buildRocketEntry(rocket); acmiString = ""; if (knownActors.ContainsKey(support.GetObjectID(rocket))) { oldEntry = knownActors[support.GetObjectID(rocket)]; acmiString = newEntry.ACMIString(oldEntry); knownActors[support.GetObjectID(rocket)] = newEntry; } else { acmiString = newEntry.ACMIString(); knownActors.Add(support.GetObjectID(rocket), newEntry); } if (acmiString != "") { dataLog.Append("\n" + acmiString); } } foreach (var actor in support.ClearAndGetOldObjectIds()) { /* If we weren't updated, then we don't exist anymore */ // Need to handle checks for non vehicle actors //if (knownActors[actor]._basicTypes.Contains("FixedWing") || // knownActors[actor]._basicTypes.Contains("Vehicle")) //{ // /* If this is a vehicle, we can send the destroyed ACMI event */ // dataLog.Append("\n" +acmi.ACMIEvent("Destroyed", null, actor)); //} dataLog.Append("\n" + $"-{actor}"); knownActors.Remove(actor); } }