using System.Collections.Generic;
using RothenburgAR.Common;
using UnityEngine;

namespace RothenburgAR.Exhibition
{
    public struct PreloadedExhibition
    {
        public string ID { get; set; }
        public string DatasetPath { get; set; }
        public TextElement Description { get; set; }
        public List<PreloadedExhibit> ContainedExhibits { get; set; }
    }

    public struct PreloadedExhibit
    {
        public string ID { get; set; }
        public TextElement Description { get; set; }
        public List<PreloadedPoiReference> ReferencedPoiEntries { get; set; }
        public PreloadedExhibitTitle? Title { get; set; }
    }

    public struct PreloadedPoiReference
    {
        public string ReferencedId { get; set; }
        public Vector3? Scale { get; set; }
        public Vector3? Rotation { get; set; }
        public Vector3? Position { get; set; }
    }

    public struct PreloadedExhibitTitle
    {
        public TextElement Text { get; set; }
        public Vector3? Rotation { get; set; }
        public Vector3? Position { get; set; }
        public Vector2? Dimensions { get; set; }
        public float FontSize { get; set; }
        public float BoxHeight { get; set; }
        public float BoxWidth { get; set; }
    }
}