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); } }
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)); }