示例#1
0
        public void UpdatesTrack(List <ITracks> list)
        {
            foreach (var newTrack in list)
            {
                foreach (var oldtrack in OldTracklist)
                {
                    if (Monitor.MonitorFlight(oldtrack))
                    {
                        if (oldtrack.Tag == newTrack.Tag)
                        {
                            //Console.WriteLine($"{newTrack.Tag}, X1: {oldtrack.X}, X2: {newTrack.X}");
                            newTrack.Velocity = (int)Velocity.Velocity(oldtrack, newTrack);
                            newTrack.Course   = (int)Course.Calculate(oldtrack, newTrack);
                            break;
                        }

                        if (oldtrack.Tag != newTrack.Tag)
                        {
                            if (Separation.CollisionDetection(Distance, newTrack, oldtrack))
                            {
                                Logger.LogSeparationEvent(newTrack, oldtrack);
                            }
                        }
                    }
                }
            }
        }