diff --git a/src/CounterDrone.Core/Simulation/SimulationEngine.cs b/src/CounterDrone.Core/Simulation/SimulationEngine.cs index 398bd80..1a89aff 100644 --- a/src/CounterDrone.Core/Simulation/SimulationEngine.cs +++ b/src/CounterDrone.Core/Simulation/SimulationEngine.cs @@ -48,6 +48,7 @@ namespace CounterDrone.Core.Simulation private int _nextFireIndex; private readonly List _allEvents = new(); private System.Text.StringBuilder _hitLog = new(); + private float _totalPathInCloud; private SQLiteConnection _frameDb = null!; private string _taskId = string.Empty; private readonly IDefensePlanner _planner; @@ -272,6 +273,8 @@ namespace CounterDrone.Core.Simulation cloud.Dispersion.EffectiveRadius); if (inCloudTime > 0 && cloud.Dispersion.CoreDensity >= (float)_ammoSpec.EffectiveConcentration) { + _totalPathInCloud += inCloudTime; + System.IO.File.AppendAllText(@"C:\Users\Tellme\Desktop\path_debug.txt", $"t={SimulationTime:F1} drone={drone.PosX:F1} cloud={cloud.Dispersion.Center.X:F1} path={inCloudTime:F1} total={_totalPathInCloud:F1}\n"); float exposureIncrement = inCloudTime / (drone.TypicalSpeed / 3.6f); drone.ExposureTime += exposureIncrement; var dmg = _damageModel.CalculateDamage(drone.TargetType, drone.PowerType, cloud.AerosolType, cloud.Dispersion.CoreDensity, drone.ExposureTime, exposureIncrement); @@ -306,6 +309,7 @@ namespace CounterDrone.Core.Simulation if (_drones.All(d => d.Status != DroneStatus.Flying)) { State = SimulationState.Completed; + System.IO.File.WriteAllText(@"C:\Users\Tellme\Desktop\path_in_cloud.txt", $"totalPath={_totalPathInCloud:F1}m"); OnSimulationEnded?.Invoke(); frameEvents.Add(new SimEvent { Type = SimEventType.SimulationEnd, OccurredAt = SimulationTime }); }