Esempio n. 1
0
        private void ExecuteMoveColonist(MoveColonist moveColonist, IPlayer player)
        {
            var colonist = moveColonist.IsMoveFromTile
                ? player.Tiles[moveColonist.FromIndex].RemoveWorker()
                : player.Buildings[moveColonist.FromIndex].RemoveWorker();

            if (moveColonist.IsMoveToTile)
            {
                player.Tiles[moveColonist.ToIndex].AddWorker(colonist);
            }
            else
            {
                player.Buildings[moveColonist.ToIndex].AddWorker(colonist);
            }
        }
Esempio n. 2
0
        public void CanMoveColonists()
        {
            Game.Players.ForEach(p => {
                var tile = new Quarry();
                tile.AddWorker(new Colonist());
                p.Plant(tile);
                p.Build(new SmallMarket());
            });
            var action = new MoveColonist {
                FromIndex      = 1,
                ToIndex        = 0,
                IsMoveFromTile = true,
                IsMoveToTile   = false
            };

            Game.Players.ForEach(p => CanExecuteActionMultiple(action, p));
        }