using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Assets.Logging; using sl; using static ZEDManager; namespace Assets.ZED.SDK.Helpers.Scripts { internal class LoggingZEDManager : IZEDManager { readonly ZEDManager zedManager; readonly ILogger detectionFrameLogger; public LoggingZEDManager(ZEDManager zedManager, ILogger detectionFrameLogger) { this.zedManager = zedManager; this.detectionFrameLogger = detectionFrameLogger; zedManager.OnObjectDetection += ZedManager_OnObjectDetection; } void ZedManager_OnObjectDetection(DetectionFrame objFrame) { detectionFrameLogger.Log(objFrame); } public bool IsObjectDetectionRunning => zedManager.IsObjectDetectionRunning; public bool EstimateInitialPosition => zedManager.EstimateInitialPosition; public DETECTION_MODEL ObjectDetectionModel => zedManager.ObjectDetectionModel; public event ZEDManager.onNewDetectionTriggerDelegate OnObjectDetection { add => zedManager.OnObjectDetection += value; remove => zedManager.OnObjectDetection -= value; } public event ZEDManager.OnZEDManagerReady OnZEDReady { add => zedManager.OnZEDReady += value; remove => zedManager.OnZEDReady -= value; } public void StartObjectDetection() { zedManager.StartObjectDetection(); } } }