public static void Update() { if (ConnectionInitializer.conn != null) { var ticks = DateTime.Now.Ticks; if (Time.startSecond == 0) { startSecond = (double)ticks / 10000000; } var seconds = (double)ticks / 10000000 - startSecond; Time.secondsSinceStart = seconds; Time.deltaTime = Time.secondsSinceStart - Time.lastSecondsSinceStart; Time.framesSinceStart++; UT = ConnectionInitializer.conn.SpaceCenter().UT; if (lastUT == 0) { lastUT = UT; } gameDeltaTime = UT - lastUT; Info.AddInfo("deltaTime", deltaTime.ToString()); Info.AddInfo("gamedeltaTime", gameDeltaTime.ToString()); Input.Update(); Behaviour.UpdateAll(); Coroutine.Update(); Info.Update(); Time.lastSecondsSinceStart = Time.secondsSinceStart; Time.lastUT = UT; } }
public static void HandleSocketData(byte[] bytes) { var bytesStr = bytes[0].ToString() + '|' + bytes[1].ToString() + '|' + bytes[2].ToString() + '|' + bytes[3].ToString() + '|' + bytes[4].ToString() + '|' + bytes[5].ToString(); //var bytesStr = bytes[0].ToString(); //Log(data.joystickR.ToString()); if (conn != null) { Info.AddInfo("received", bytesStr); var vessel = conn.SpaceCenter().ActiveVessel; if (vessel != null) { vessel.Control.InputMode = ControlInputMode.Additive; var data = ParseSocketBytes(bytes); vessel.Control.Throttle = data.throttle; vessel.Control.Pitch = -data.joystickR.Y; vessel.Control.Roll = data.joystickR.X; vessel.Control.Yaw = data.joystickL.X; vessel.Control.WheelSteering = -data.rudder; for (int i = 1; i < 10; i++) { if (data.toggles[i]) { vessel.Control.ToggleActionGroup((uint)(i)); } } if (data.toggles[0]) { vessel.Control.ToggleActionGroup((uint)10); } if (data.toggles[10]) { vessel.Control.SAS = !vessel.Control.SAS; } if (data.toggles[11]) { vessel.Control.RCS = !vessel.Control.RCS; } if (data.toggles[12]) { vessel.Control.Brakes = !vessel.Control.Brakes; } if (data.toggles[13]) { vessel.Control.Lights = !vessel.Control.Lights; } if (data.toggles[14]) { vessel.Control.Gear = !vessel.Control.Gear; } if (data.toggles[15]) { vessel.Control.ActivateNextStage(); } } } else { Log(bytesStr); } }
public void LogInfo(string key, string msg) => Info.AddInfo("[" + vid + "]" + key, msg);