public void Write <T>(TelemetryChannel channel, T i) { if (ActiveProcess == null) { return; } if (!openedTduAsWriter) { _tdu2Reader.Close(); _tdu2Reader = new MemoryWriter(); _tdu2Reader.ReadProcess = ActiveProcess; _tdu2Reader.Open(); openedTduAsWriter = true; } var channelAddress = GetWriteAddress(channel); var writer = _tdu2Reader as MemoryWriter; if (i is float) { writer.WriteFloat(channelAddress, float.Parse(i.ToString())); } }
public DependencyTelemetry GetSingleTelemetry() { TelemetryChannel.Received(1).Send(Arg.Any <ITelemetry>()); return((DependencyTelemetry)TelemetryChannel .ReceivedCalls() .Single(c => c.GetMethodInfo().Name == "Send") .GetArguments()[0]); }
private IntPtr GetWriteAddress(TelemetryChannel channel) { switch (channel) { case TelemetryChannel.CameraHorizon: return(GetWriteAddress(TelemetryChannel.CameraViewBase) + 0x550); case TelemetryChannel.CameraViewBase: return((IntPtr)_tdu2Reader.ReadInt32(ActiveProcess.MainModule.BaseAddress + 0xD95BF0)); default: return(ActiveProcess.MainModule.BaseAddress); } }
public void Write <T>(TelemetryChannel cameraHorizon, T i) { // Not supported }