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