using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;

namespace FredriksdalAssault2
{
    /// <summary>
    /// This class represent a structure.
    /// </summary>
    public abstract class Structure
    {
        #region Instance variables

        // Variables that are common for all structures.
        public Matrix world;

        #endregion

        #region Constructors
        /// <summary>
        /// Create a new structure.
        /// </summary>
        /// <param name="world"></param>
        public Structure(Vector3 position, Vector3 rotation, float scale)
        {
            // Set the world variable (SRT: Scale * Rotation * Position)
            this.world = Matrix.CreateScale(scale) * Matrix.CreateFromYawPitchRoll(rotation.Y, rotation.X, rotation.Z) * Matrix.CreateTranslation(position);
        }

        #endregion

    } // End of class

} // End of namespace
