﻿using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.PostProcessing;

// [CreateAssetMenu(fileName = "Data", menuName = "ARitize/ExperienceInfo", order = 1)]
public class ExperienceInfo : ScriptableObject
{
    public enum Orientation
    {
        auto,
        portrait,
        landscape
    }

    public enum ARType
    {
        SLAM,
        imageTracking,
        // faceTracking,
        objectTracking
    }

    public ARType arType;

    public string version = "0.1";
    // [Space]
    public Orientation orientation;
    // public PostProcessingProfile postProcessingProfile;
    // [Space]

    public List<ExperienceModule> modules;

    public List<string> previewBlacklist;

    public List<string> forcedDependencies;

    //SLAM
    public enum SlamSurfaces
    {
        horizontal,
        vertical,
        horizontalAndVertical
    }
    public SlamSurfaces slamSurfaces;
    public string navigationGuidanceTarget;

    //image tracking
    public string imageTargetSlug;
    public string imageTargetGuide;

    [SerializeField]
    public TrackableSettings trackableSettings;

    [System.Serializable]
    public class TrackableSettings
    {
        // Distance Warn
        public bool distanceGuidance = true;
        public float distanceThreshold = 1f;
        public float distanceWarnDelay = 3f;
        public string distanceWarnMessage = "Get closer to the trackable";

        // Off Screen
        public bool offScreenGuidance = true;
        public float offScreenWarnDelay = 1f;
        public string offScreenWarnMessage = "Get closer to the trackable";

        // Trackable speed
    }

    //face tracking
    public string faceMesh;

    //wikitude object tracking
    public Object wtoFile;
    public string objectTarget;
    public bool hideOnTrackingLost = false;

}