Ejemplo n.º 1
0
        public override GameAction OnExecute(AgricolaPlayer player, Data.GameActionData data)
        {
            base.OnExecute(player, data);

            player.PayCosts(costs);

            ActionService.BuildFences(player, eventTriggers, ResultingNotices, (BuildFencesActionData)data, pastures.ToImmutableArray());
            return(this);
        }
Ejemplo n.º 2
0
        public override GameAction OnExecute(AgricolaPlayer player, Data.GameActionData data)
        {
            base.OnExecute(player, data);

            ActionService.Renovate(player, ResultingNotices);

            switch (mode)
            {
            case RenovationActionMode.Fences:
                player.PayCosts(additionalCosts);
                ActionService.BuildFences(player, eventTriggers, ResultingNotices, ((RenovationActionData)data).FenceData, pastures.ToImmutableArray());
                break;

            case RenovationActionMode.Improvement:
                var improvementData = ((RenovationActionData)data).ImprovementData;
                if (improvementData != null)
                {
                    ActionService.BuyImprovement(player, ((RenovationActionData)data).ImprovementData, ResultingNotices);
                }
                break;
            }

            return(this);
        }