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; } }