public void Main(string argument, UpdateType updateSource)
        {
            if ((updateSource & UpdateType.Antenna) != 0 ||
                (updateSource & UpdateType.Terminal) != 0 ||
                (updateSource & UpdateType.Trigger) != 0 ||
                (updateSource & UpdateType.Script) != 0)
            {
                if (!initialized)
                {
                    Init();
                }

                commsHandler.HandleMain(argument, (updateSource & UpdateType.Antenna) != 0);
            }

            if ((updateSource & UpdateType.Update100) != 0)
            {
                targetTracker.TimeoutEntities(TimeSpan.FromSeconds(5));
            }

            missionScheduler.Main();

            if (mode == CurrentMode.Idle || mode == CurrentMode.Launching)
            {
                return;
            }


            targetTracker.Poll();
            payload.Main();
        }
示例#2
0
        public void Main(string argument, UpdateType updateSource)
        {
            if (!initialized)
            {
                launchScheduler.Main();
                return;
            }

            if ((updateSource & UpdateType.Update100) != 0)
            {
                missiles.FetchMissiles();
                statusWriter.UpdateStatus();
                entityTrackingModule.TimeoutEntities(TimeSpan.FromSeconds(5));
            }

            entityTrackingModule?.Poll();

            statusWriter.Main();
            launchScheduler.Main();
            commsHandler.HandleMain(argument, (updateSource & UpdateType.Antenna) != 0);
        }