public Telemetry(IPluginTelemetryProvider provider, Process simulatorProcess) { Provider = provider; // Initialize memory objects var mem = new MemoryReader(); mem.Open(simulatorProcess); Memory = new MemoryProvider(mem); // Initialize telemetry provider; this class gives us the address layout to read. Memory.Scanner.Enable(); Provider.Initialize(Memory); Memory.Scanner.Disable(); // Start outside-world telemetry objects Session = new TelemetrySession(); Simulator = new TelemetryGame(); Acquisition = new TelemetryAcquisition(); Support = new TelemetrySupport(); // Start 40Hz clock signal (25ms) Clock = new MMTimer(25); Clock.Tick += (o, s) => GlobalEvents.Fire(new TelemetryRefresh(this), true); Clock.Start(); // Hook both events together: GlobalEvents.Hook<TelemetryRefresh>(Update, true); }
public Telemetry(IPluginTelemetryProvider provider, Process simulatorProcess) { Provider = provider; // Initialize memory objects var mem = new MemoryReader(); mem.Open(simulatorProcess); Memory = new MemoryProvider(mem); // Initialize telemetry provider; this class gives us the address layout to read. Memory.Scanner.Enable(); Provider.Initialize(Memory); Memory.Scanner.Disable(); // Start outside-world telemetry objects Session = new TelemetrySession(); Simulator = new TelemetryGame(); Acquisition = new TelemetryAcquisition(); Support = new TelemetrySupport(); // Start 40Hz clock signal (25ms) Clock = new MMTimer(25); Clock.Tick += (o, s) => GlobalEvents.Fire(new TelemetryRefresh(this), true); Clock.Start(); // Hook both events together: GlobalEvents.Hook <TelemetryRefresh>(Update, true); }