public void Update(float deltaTime) { _orbit1.Update(deltaTime); Entities[0].AdditionalTransformation = _orbit1.Transformation; _orbit2.Update(deltaTime); Entities[1].AdditionalTransformation = _orbit2.Transformation; }
void Start() { Observable.Start(() => { if (Client.Running && Client.GameScene == GameScene.Flight && Client.Vessel != null) { run = true; try { var flight = Client.Vessel.Flight(Client.Vessel.SurfaceReferenceFrame); while (run) { try { Orbit.Update(Client.Vessel.Orbit); SurfaceFlight.Update(flight); } catch (Exception ex) { Client.Status = ex.Message; } } } catch (Exception ex) { Client.Status = ex.Message; } } }); }
protected override void UpdateDisplay(Vessel vessel) { VesselId = vessel.id; VesselName = vessel.vesselName; Data.Update(vessel); Locks.Update(vessel); Orbit.Update(vessel); Interpolation.Update(vessel); Position.Update(vessel); Vectors.Update(vessel); }
public void Update(float deltaTime) { _orbit1.Update(deltaTime); Entities[0].AdditionalTransformation = _orbit1.Transformation; _orbit2.Update(deltaTime); Entities[1].AdditionalTransformation = _orbit2.Transformation; Entities[2].Rotate(new Vector3(0, -deltaTime, 0)); for (int i = 0; i < Entities.Count; i++) { if (Entities[i] is TriangleEntity triangleEntity) { if (_baseTriangleIndices.Contains(i)) { switch (triangleEntity.Type) { case Enums.EntityType.NvidiaParticle: triangleEntity.Update(deltaTime, _orbit1.Transformation); break; case Enums.EntityType.RadeonParticle: triangleEntity.Update(deltaTime, _orbit2.Transformation); break; default: Console.WriteLine("No origin for triangle found."); break; } } else { triangleEntity.Update(deltaTime, Matrix4x4.Identity); } } } foreach (Entity entity in EntitiesToDelete) { Entities.Remove(entity); } EntitiesToDelete.Clear(); }