// %BANNER_BEGIN% // --------------------------------------------------------------------- // %COPYRIGHT_BEGIN% // Copyright (c) 2022-2023 Magic Leap, Inc. All Rights Reserved. // Use of this file is governed by the Magic Leap 2 Software License Agreement, located here: https://www.magicleap.com/software-license-agreement-ml2 // Terms and conditions applicable to third-party materials accompanying this distribution may also be found in the top-level NOTICE file appearing herein. // %COPYRIGHT_END% // --------------------------------------------------------------------- // %BANNER_END% using UnityEngine; using UnityEngine.Events; namespace MagicLeap.Spectator { public class MarkerEvent : UnityEvent { } public abstract class MarkerDetector : MonoBehaviour { #region Enums public enum State { Starting, Running, Stopping, Stopped } #endregion #region Private properties #pragma warning disable 0414 private State _state = State.Stopped; private object stateLock = new object(); public State state { get { lock (stateLock) { return _state; } } protected set { lock (stateLock) { _state = value; } } } #pragma warning restore 0414 #endregion #region Public events public MarkerEvent markerEvent = new MarkerEvent(); #endregion } }