using System.Diagnostics;
using UnityEngine;

namespace Passer.Tracking {

    public enum TrackerId {
        Oculus,
        SteamVR,
        WindowsMR,
        LeapMotion,
        Kinect1,
        Kinect2,
        OrbbecAstra,
        Realsense,
        RazerHydra,
        Optitrack,
        Tobii
    };

    /// <summary>
    /// Generic Tracking device
    /// </summary>
    public class TrackerComponent : MonoBehaviour {

        public Tracker.Status status;

        protected Transform realWorld;

        //[SerializeField]
        //protected bool _show = true;
        //public virtual bool show {
        //    set {
        //        if (value == true && !_show) {
        //            renderTracker = true;

        //            _show = true;
        //        }
        //        else if (value == false && _show) {
        //            renderTracker = false;

        //            _show = false;
        //        }
        //    }
        //    get {
        //        return _show;
        //    }
        //}

        //protected bool renderTracker {
        //    set {
        //        UnityEngine.Debug.Log("tracker show " + value);
        //        Renderer[] renderers = this.GetComponentsInChildren<Renderer>();
        //        foreach (Renderer renderer in renderers)
        //            renderer.enabled = value;
        //    }
        //}


        protected virtual void Start() { }

        protected virtual void Update() { }

        public virtual void ShowSkeleton(bool shown) { }
    }

}