// %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; namespace MagicLeap.Spectator { public class PlaceFromMarker : MonoBehaviour { #region Private variables [SerializeField] private MarkerDetector markerDetector = null; #endregion #region MonoBehaviour methods private void OnEnable() { if (markerDetector) markerDetector.markerEvent.AddListener(OnMarkerEvent); else Debug.LogWarning("PlaceFromMarker: OnEnable() - Missing reference to Marker Detector"); } private void OnDisable() { if (markerDetector) markerDetector.markerEvent.RemoveListener(OnMarkerEvent); //else Debug.LogWarning("PlaceFromMarker: OnDisable() - Missing reference to Marker Detector"); } #endregion #region Private methods private void OnMarkerEvent(string id, GameObject marker) { Vector3 position = marker.transform.position; Quaternion rotation = marker.transform.rotation; rotation *= Quaternion.Euler(-90, 180, 0); transform.SetPositionAndRotation(position, rotation); } #endregion } }