update ui less often
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user