update ui less often

This commit is contained in:
2022-12-14 17:42:28 +01:00
parent 8565ae77cd
commit e24d9b86a9

View File

@@ -31,10 +31,13 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
private Button startButton, stopButton, pauseButton, addTimeButton, removeTimeButton; private Button startButton, stopButton, pauseButton, addTimeButton, removeTimeButton;
[BoxGroup("Internal")] [SerializeField] [BoxGroup("Internal")] [SerializeField]
private Text timeText, targetTimeText, estimateTimeText; private Text timeText, targetTimeText, estimateTimeText;
[BoxGroup("Internal")] [SerializeField]
private float uiUpdateInterval = 1;
[HideInInspector] public GameState gameState = GameState.Stopped; [HideInInspector] public GameState gameState = GameState.Stopped;
private float _timeElapsed, _targetTime; private float _timeElapsed, _targetTime;
private float _previousUIUpdate;
private void Awake() private void Awake()
{ {
@@ -48,15 +51,21 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
private void Update() private void Update()
{ {
// Update time // update time
if (gameState == GameState.Running) if (gameState == GameState.Running)
{ {
_timeElapsed += Time.deltaTime; _timeElapsed += Time.deltaTime;
}
// update ui
if (Time.time > _previousUIUpdate + uiUpdateInterval)
{
_previousUIUpdate = Time.time;
SetTimeText(); SetTimeText();
} }
// Enable or disable buttons // enable or disable buttons
startButton.interactable = gameState == GameState.Stopped; startButton.interactable = gameState == GameState.Stopped;
stopButton.interactable = gameState != GameState.Stopped; stopButton.interactable = gameState != GameState.Stopped;
pauseButton.interactable = gameState is GameState.Running or GameState.Paused; pauseButton.interactable = gameState is GameState.Running or GameState.Paused;