measurements take pausing the game into account
This commit is contained in:
@@ -261,7 +261,7 @@ RectTransform:
|
|||||||
- {fileID: 7578302057580157030}
|
- {fileID: 7578302057580157030}
|
||||||
- {fileID: 9062548758054197003}
|
- {fileID: 9062548758054197003}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: -1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
@@ -342,7 +342,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 676ef7e7d34646dbb24b1978563ab63b, type: 3}
|
m_Script: {fileID: 11500000, guid: 676ef7e7d34646dbb24b1978563ab63b, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
uiUpdateInterval: 1
|
uiUpdateInterval: 0.1
|
||||||
planUpdateInterval: 1
|
planUpdateInterval: 1
|
||||||
startButton: {fileID: 4759128159024176925}
|
startButton: {fileID: 4759128159024176925}
|
||||||
stopButton: {fileID: 1891571209360683320}
|
stopButton: {fileID: 1891571209360683320}
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ namespace EscapeRoomEngine.Engine.Runtime
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
GenerateEndSpace(room, entrance);
|
GenerateEndSpace(room, entrance);
|
||||||
GameControl.Instance.StopGame();
|
GameControl.Instance.FinishGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
var roomId = _rooms.Count - 1;
|
var roomId = _rooms.Count - 1;
|
||||||
|
|||||||
@@ -66,8 +66,8 @@ namespace EscapeRoomEngine.Engine.Runtime.Measurements
|
|||||||
{
|
{
|
||||||
_runningMeasurements[puzzle.Id] = new PuzzleMeasurement
|
_runningMeasurements[puzzle.Id] = new PuzzleMeasurement
|
||||||
{
|
{
|
||||||
TimeStarted = Time.time,
|
TimeStarted = GameControl.Instance.TimeElapsed,
|
||||||
TimeSolved = Time.time
|
TimeSolved = GameControl.Instance.TimeElapsed
|
||||||
};
|
};
|
||||||
|
|
||||||
Logger.Log($"Started measuring {puzzle}", LogType.Measuring);
|
Logger.Log($"Started measuring {puzzle}", LogType.Measuring);
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ namespace EscapeRoomEngine.Engine.Runtime.Measurements
|
|||||||
|
|
||||||
_realm.Write(() =>
|
_realm.Write(() =>
|
||||||
{
|
{
|
||||||
measurement.TimeSolved = Time.time;
|
measurement.TimeSolved = GameControl.Instance.TimeElapsed;
|
||||||
found.Measurements.Add(measurement);
|
found.Measurements.Add(measurement);
|
||||||
|
|
||||||
// add solved puzzle to session
|
// add solved puzzle to session
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
|||||||
{
|
{
|
||||||
public enum GameState
|
public enum GameState
|
||||||
{
|
{
|
||||||
Stopped, Paused, Running
|
Stopped, Paused, Running, Finished
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -112,8 +112,8 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
|||||||
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;
|
||||||
addTimeButton.interactable = gameState != GameState.Stopped;
|
addTimeButton.interactable = gameState is GameState.Running or GameState.Paused;
|
||||||
removeTimeButton.interactable = gameState != GameState.Stopped && TargetTime >= TimeElapsed + 60;
|
removeTimeButton.interactable = gameState is GameState.Running or GameState.Paused && TargetTime >= TimeElapsed + 60;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Time Controls
|
#region Time Controls
|
||||||
@@ -133,7 +133,7 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
|||||||
|
|
||||||
public void StopGame()
|
public void StopGame()
|
||||||
{
|
{
|
||||||
if (gameState != GameState.Stopped)
|
if (gameState != GameState.Stopped && gameState != GameState.Finished)
|
||||||
{
|
{
|
||||||
// was running
|
// was running
|
||||||
Measure.EndSession(TimeElapsed);
|
Measure.EndSession(TimeElapsed);
|
||||||
@@ -142,6 +142,17 @@ namespace EscapeRoomEngine.Engine.Runtime.UI
|
|||||||
gameState = GameState.Stopped;
|
gameState = GameState.Stopped;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void FinishGame()
|
||||||
|
{
|
||||||
|
if (gameState != GameState.Finished)
|
||||||
|
{
|
||||||
|
// was running
|
||||||
|
Measure.EndSession(TimeElapsed);
|
||||||
|
}
|
||||||
|
|
||||||
|
gameState = GameState.Finished;
|
||||||
|
}
|
||||||
|
|
||||||
public void PauseGame()
|
public void PauseGame()
|
||||||
{
|
{
|
||||||
// ReSharper disable once SwitchStatementMissingSomeEnumCasesNoDefault
|
// ReSharper disable once SwitchStatementMissingSomeEnumCasesNoDefault
|
||||||
|
|||||||
Reference in New Issue
Block a user