public void OnEvent(SimulatedEngagement simulatedEngagement, SimEvent e) { if (e is SimInstantiationEvent) { SimInstantiationEvent simInstantiationEvent = e as SimInstantiationEvent; } }
private void OnTest() { EditorUtility.DisplayProgressBar("Running Simulation", "Starting", 0); Engagement engagement = new Engagement(); JunkyardUser user = new JunkyardUser(); engagement.RedCombatent = participantRed01.Data.GetParticipant().GetTeam(user).Bot; engagement.BlueCombatent = participantBlue02.Data.GetParticipant().GetTeam(user).Bot; engagement.Rules = RulesOfEngagement; engagement.Seed = Seed; SimulatedEngagement SimulatedEngagement = new SimulatedEngagement(engagement, this); int step = 0; while (!SimulatedEngagement.Step()) { EditorUtility.DisplayProgressBar("Running Simulation", "Running... (" + (++step) + ")", 0.5f); } ExportSimulation(SimulatedEngagement); string winner = engagement.RedCombatent == engagement.Outcome.Winner ? participantRed01.ID : participantBlue02.ID; EditorUtility.DisplayDialog("Complete", "Winner " + winner, "ok"); }
private void ExportSimulation(SimulatedEngagement simulatedEngagement) { List <ISimulationTestExporter> activeExporters = dataExporters.FindAll(exporter => EditorPrefs.GetBool(exporter.GetDataName() + "_export_pref")); for (int i = 0; i < activeExporters.Count; i++) { ISimulationTestExporter exporter = activeExporters[i]; Type exporterType = exporter.GetType(); EditorUtility.DisplayProgressBar("Exporting Results", exporter.GetDataName(), (float)i / activeExporters.Count); SimulationTestExportData inputData = new SimulationTestExportData(simulatedEngagement, InitiatorToInspectForData); StringBuilder data = exporter.GetData(inputData); string filePath = exportPath + exporter.GetDataName() + ".csv"; StreamWriter outStream = System.IO.File.CreateText(filePath); outStream.WriteLine(data); outStream.Close(); } }