using VigilCare.Simulation;

public sealed class ConsoleReplayObserver : IReplayObserver
{
    public void Header(string name, string? description) =>
        SimulatorConsole.Header(name, description);

    public void Info(string message) =>
        SimulatorConsole.Info(message);

    public void Event(string simTime, string description) =>
        SimulatorConsole.Event(simTime, description);

    public void Waiting(double deltaMinutes, int delayMs) =>
        SimulatorConsole.Wait(deltaMinutes, delayMs);

    public void Warn(string message) =>
        SimulatorConsole.Warn(message);

    public void Error(string message) =>
        SimulatorConsole.Error(message);

    public void DryRun(string message) =>
        SimulatorConsole.DryRun(message);

    public void Completed(ReplayResult result) =>
        SimulatorConsole.Summary(result);

    public void Progress(double offsetMinutes, int clusterIndex, int clusterCount)
    {
        // Console progress is already visible via Event/Wait; no extra output.
    }
}
