using Inspectron.Settings;
using VisionBuilder.UI.Common;

namespace Hawkeye.VisionBuilder.UI.Sources.Emulation;

public class EmulationSettings : ISettings
{
    public string CameraName { get; }

    public EmulationSettings(string cameraName)
    {
        CameraName = cameraName;
    }

    public int CycleDelay { get; set; } = 1;
    public int PerImageDelay { get; set; } = 5000;
    public bool SingleRun { get; set; } = true;
    public string EmulationPath { get; set; }

    public void RegisterSettings(InspectronSettings settings)
    {
        settings.RegisterSimple(this, () => CycleDelay, CameraName+"/Sources/Emulation", nameof(CycleDelay));
        settings.RegisterSimple(this, () => PerImageDelay, CameraName + "/Sources/Emulation", nameof(PerImageDelay));
        settings.RegisterSimple(this, () => SingleRun, CameraName + "/Sources/Emulation", nameof(SingleRun));
        settings.RegisterSimple(this, () => EmulationPath, CameraName + "/Sources/Emulation", nameof(EmulationPath));
    }
}