44 lines
1.5 KiB
C#
44 lines
1.5 KiB
C#
using System.Collections.Generic;
|
|
using EscapeRoomEngine.Engine.Runtime.Modules;
|
|
using UnityEngine;
|
|
using Logger = EscapeRoomEngine.Engine.Runtime.Utilities.Logger;
|
|
using LogType = EscapeRoomEngine.Engine.Runtime.Utilities.LogType;
|
|
|
|
namespace EscapeRoomEngine.Engine.Runtime.Measurements
|
|
{
|
|
public static class Measure
|
|
{
|
|
private static Dictionary<int, PuzzleMeasurement> _runningMeasurements;
|
|
|
|
public static void StartMeasuring(PuzzleModuleDescription puzzle)
|
|
{
|
|
_runningMeasurements[puzzle.Id] = new PuzzleMeasurement
|
|
{
|
|
TimeStarted = Time.time,
|
|
TimeSolved = Time.time
|
|
};
|
|
|
|
Logger.Log($"Started measuring {puzzle}", LogType.Measuring);
|
|
}
|
|
|
|
public static void Solve(PuzzleModuleDescription puzzle)
|
|
{
|
|
var measurement = _runningMeasurements[puzzle.Id];
|
|
|
|
PuzzleStorage.Instance.EndMeasurement(puzzle, measurement);
|
|
|
|
Logger.Log($"Solved {puzzle} with measurement {measurement}", LogType.Measuring);
|
|
}
|
|
|
|
public static void StartSession() => PuzzleStorage.Instance.StartSession();
|
|
|
|
public static void EndSession(float time)
|
|
{
|
|
PuzzleStorage.Instance.EndSession(time);
|
|
|
|
Logger.Log(PuzzleStorage.Instance.Session.ToString(), LogType.Measuring);
|
|
}
|
|
|
|
public static void Clear() => _runningMeasurements = new Dictionary<int, PuzzleMeasurement>();
|
|
}
|
|
} |