using Microsoft.Xna.Framework;
using System.Linq;

namespace Igdc.Scenes.UI.Controls
{
    public abstract class ControlBase
    {
        public Point Location { get; set; }
        public Point Size { get; set; } = new Point(SceneBase.TargetWidth, SceneBase.TargetHeight);
        public FocusDirection FocusDirection { get; protected set; } = FocusDirection.Auto;

        public abstract void Update(SceneIterationArgument e);
        public abstract void Draw(SceneIterationArgument e);

        protected bool IsAllSet(params object[] args)
            => args.All(a => a != null);
    }

    public enum FocusDirection
    {
        None, Auto, Prev, Next
    }
}