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;
 }