PuzzleMeasurement, add Realm, door ExitedFrom event

This commit is contained in:
2022-12-05 18:11:00 +01:00
parent 5449283e5d
commit b776e6744e
34 changed files with 344 additions and 63 deletions

View File

@@ -1,7 +1,44 @@
namespace EscapeRoomEngine.Engine.Runtime.Measurements
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 class Measure
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);
LogAllMeasurements();
}
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 LogAllMeasurements()
{
Engine.DefaultEngine.theme.puzzleTypes.ForEach(puzzle =>
{
Logger.Log(PuzzleStorage.Instance.LoadOrNew(puzzle).ToString(), LogType.Measuring);
});
}
public static void Clear() => _runningMeasurements = new Dictionary<int, PuzzleMeasurement>();
}
}