using UnityEngine;
using Wave.Native;

namespace ScenePerceptionToolkit
{
    public class ScenePerceptionToolkitDemo : MonoBehaviour
    {
        [SerializeField] private GameObject anchorDisplayPrefab;
        [SerializeField] private Material GeneratedMeshMaterialTranslucent;
        [SerializeField] private Material GeneratedMeshMaterialWireframe;
        [SerializeField] private ScenePerceptionHelper scenePerceptionHelper;
        private ScenePerceptionMeshFacade scenePerceptionMeshFacade;

        private void OnEnable()
        {
            WVR_Result result = scenePerceptionHelper.scenePerceptionManager.StartScene();
            scenePerceptionHelper.scenePerceptionManager.StartScenePerception(WVR_ScenePerceptionTarget.WVR_ScenePerceptionTarget_2dPlane); //Start perceiving 2D planes
            scenePerceptionMeshFacade = new ScenePerceptionMeshFacade(scenePerceptionHelper, anchorDisplayPrefab, GeneratedMeshMaterialTranslucent, GeneratedMeshMaterialWireframe);
        }

        private void OnDisable()
        {
            scenePerceptionHelper.scenePerceptionManager.StopScene();
        }

        private void Update()
        {
            scenePerceptionMeshFacade.UpdateScenePerceptionMesh();
        }
    }
}