예제 #1
0
        public void SwitchMode(TargetManagerMode toMode)      //切换起批模式
        {
            _mode = toMode;

            switch(toMode)
            {
                case TargetManagerMode.Intelligent:
                    _dotCorelator = new DotCorelator_Intelligence(_dotCorelator.Observers);
                    break;
                case TargetManagerMode.Auto:
                    _dotCorelator = new DotCorelator_WaveGate(_dotCorelator.Observers);
                    break;
                case TargetManagerMode.SemiAuto:
                    _dotCorelator = new DotCorelator_WaveGate(_dotCorelator.Observers);
                    break;
                case TargetManagerMode.Manual:
                    _dotCorelator = new DotCorelator_Manual(_dotCorelator.Observers);
                    break;
                default:
                    throw new ArgumentOutOfRangeException(nameof(toMode), toMode, null);
            }
        }
예제 #2
0
        public TargetManager()
        {
            InitializeSectors();
            _obs = new List<ITargetObserver>();

            //_clotter = new Clotter_Test();
            _clotter47 = new FourSevenClotter();

            _trackCorelator = new TrackCorelatorV1();//航迹相关器

            _mode = TargetManagerMode.Manual;
            _dotCorelator = new DotCorelatorV1();//自由点相关器

            _freeDotDeleter = new FreeDotDeleter();  //自由点删除器

            _viewDeleter = new DotViewDeleter();

            TargetTrack.FindIdStrategy = new FromBeginningStrategy();

            mouseTargetTracker = new MouseTargetTracker(this);

            trackGenerators = new List<TrackGenerator>();
        }