Ejemplo n.º 1
0
        public override bool CanExecute(AgricolaPlayer player, Data.GameActionData data)
        {
            var fields = ((PlowAndSowActionData)data).Fields;

            if (Optional && (fields == null || fields.Length == 0))
            {
                return(true);
            }

            return(ActionService.CanPlowAndSow(player, Id, fields, new SowData[] { }));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Checks if the passed parameters are valid.
        /// Sow values are discarded if sowEnabled is false.
        /// </summary>
        /// <param name="player"></param>
        /// <param name="values"></param>
        /// <returns></returns>
        public override bool CanExecute(AgricolaPlayer player, GameActionData data)
        {
            if (!base.CanExecute(player, data))
            {
                return(false);
            }



            var fields = ((PlowAndSowActionData)data).Fields;
            var sow    = sowEnabled ? ((PlowAndSowActionData)data).Sow : new SowData[] {};

            return(ActionService.CanPlowAndSow(player, Id, fields, sow, ((PlowAndSowActionData)data).PlowUsed));
        }