using System;
using System.Collections.Generic;
using System.Text;
using Halo3Map.Data;

namespace Halo3Map.Tags.Layouts
{
    [Tag("shade45", "hlmt", 0.1)]
    public class hlmt : H3Tag
    {
        public TagReference Model;
        public TagReference CollisionModel;
        public TagReference Animation;
        public TagReference PhysicsModel;

        public float Unknown64;
        public float Unknown68;
        public float Unknown72;
        public float Unknown76;
        public float Unknown80;

        public int Unknown84;
        public int Unknown88;
        public int Unknown92;
        public int Unknown96;

        public H3Reflexive<Variation> variation;
        [Size(56)]
        public class Variation : Chunk
        {
            public StringID Name;
            public int Unknown4;
            public int Unknown8;
            public int Unknown12;
            public int Unknown16;

            public H3Reflexive<Piece> piece;
            [Size(24)]
            public class Piece : Chunk
            {
                public StringID Name;
                public short Unknown4;
                public short Unknown6;

                public H3Reflexive<Unknown8> unknown8;
                [Size(36)]
                public class Unknown8 : Chunk
                {
                    public int Unknown;
                    public int Unknown4;
                    public int UnknownOff8;
                    [Size(24)]
                    public byte[] Unknown12;
                }

                [Size(4)]
                public byte[] Unknown20;
            }

            [Size(24)]
            public byte[] unknown32;
        }
    }
}
