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 _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(); } }