protected override void UpdateState(BoundUserInterfaceState state) { base.UpdateState(state); SolarControlConsoleBoundInterfaceState scc = (SolarControlConsoleBoundInterfaceState) state; _lastState = scc; _window.NotARadar.UpdateState(scc); _window.OutputPower.Text = ((int) MathF.Floor(scc.OutputPower)).ToString(); _window.SunAngle.Text = FormatAngle(scc.TowardsSun); UpdateField(_window.PanelRotation, FormatAngle(scc.Rotation)); UpdateField(_window.PanelVelocity, FormatAngle(scc.AngularVelocity * 60)); }
public override void Update(float frameTime) { _updateTimer += frameTime; if (_updateTimer >= 1) { _updateTimer -= 1; var state = new SolarControlConsoleBoundInterfaceState(_powerSolarSystem.TargetPanelRotation, _powerSolarSystem.TargetPanelVelocity, _powerSolarSystem.TotalPanelPower, _powerSolarSystem.TowardsSun); foreach (var component in EntityManager.EntityQuery <SolarControlConsoleComponent>()) { component.Owner.GetUIOrNull(SolarControlConsoleUiKey.Key)?.SetState(state); } } }
public void UpdateState(SolarControlConsoleBoundInterfaceState ls) { _lastState = ls; _lastStateTime = _gameTiming.CurTime; }