This commit is contained in:
2022-12-08 10:24:00 +01:00
parent 99187bc752
commit b3c53031c1
8 changed files with 90 additions and 36 deletions

View File

@@ -24,6 +24,8 @@ namespace EscapeRoomEngine.Engine.Runtime.Measurements
[SerializeField]
private string databasePath = "measurements.realm";
public Session Session { get; private set; }
private Realm _realm;
private void OnEnable()
@@ -41,23 +43,28 @@ namespace EscapeRoomEngine.Engine.Runtime.Measurements
_realm?.Dispose();
}
#region Session
public void StartSession() => _realm.Write(() => Session = _realm.Add(new Session()));
public void EndSession(float time) =>_realm.Write(() => Session.Time = time);
#endregion
#region Puzzles
public Puzzle New(PuzzleModuleDescription puzzle)
{
Puzzle created = null;
_realm.Write(() =>
{
created = _realm.Add(new Puzzle(puzzle));
});
_realm.Write(() => created = _realm.Add(new Puzzle(puzzle)));
return created;
}
public Puzzle LoadOrNew(PuzzleModuleDescription puzzle) =>
_realm.Find<Puzzle>(puzzle.Id) ?? New(puzzle);
public Puzzle LoadOrNew(PuzzleModuleDescription puzzle) => _realm.Find<Puzzle>(puzzle.Id) ?? New(puzzle);
public Puzzle Load(PuzzleModuleDescription puzzle) =>
_realm.Find<Puzzle>(puzzle.Id);
public Puzzle Load(PuzzleModuleDescription puzzle) => _realm.Find<Puzzle>(puzzle.Id);
public void Delete(PuzzleModuleDescription puzzle)
{
@@ -76,7 +83,12 @@ namespace EscapeRoomEngine.Engine.Runtime.Measurements
{
measurement.TimeSolved = Time.time;
found.Measurements.Add(measurement);
// add solved puzzle to session
Session.PuzzlesSolved.Add(found);
});
}
#endregion
}
}