Esempio n. 1
0
        public override void UpdateAfterSimulation()
        {
            tickCounter += 1;

            if (tickCounter < 60)
            {
                return;
            }
            else
            {
                tickCounter = 0;
            }

            // Todo - Implement proper timers and callbacks, this is all gross
            if (scanTimer <= 0)
            {
                if (graceTimer == Config.GracePeriod - 1)
                {
                    InitialGridScan();
                }
                else if (graceTimer <= 0)
                {
                    TrackedGridScan();

                    broadcastTimer = Config.BroadcastTime;
                    gpsTimer       = Config.GPSDiscardTime;
                    graceTimer     = Config.GracePeriod;
                    scanTimer      = Config.ScanInterval;
                }

                graceTimer -= 1;
            }
            else
            {
                scanTimer -= 1;
            }

            if (broadcastTimer > 0)
            {
                broadcastTimer -= 1;
                gpsTimer       -= 1;
                if (gpsTimer == 0)
                {
                    // Built in GPS DiscardAt is broken?
                    MyVisualScriptLogicProvider.RemoveGPSForAll(Config.SignalText);
                    gpsTimer = -1;
                }
            }
            else if (broadcastTimer == 0)
            {
                BroadcastManager.TrashBroadcasted();
                broadcastTimer = -1;
            }
        }