/// <summary>
        ///     Initializes a new instance of the <see cref="MoveInfo"/> class.
        /// </summary>
        public MoveInfo(MoveDirection moveDirection, BeakTurn beakTurn, FireMode fireMode)
        {
            #region Argument Check

            if (moveDirection == null)
            {
                throw new ArgumentNullException("moveDirection");
            }

            fireMode.EnsureDefined();

            #endregion

            this.MoveDirection = moveDirection;
            this.BeakTurn      = beakTurn;
            this.FireMode      = fireMode;
        }