Ejemplo n.º 1
0
 public override GameAction OnExecute(AgricolaPlayer player, Data.GameActionData data)
 {
     ActionService.BuildRooms(
         player,
         data.ActionId,
         ImmutableArray.Create(((BuildRoomData)data).RoomData),
         ResultingNotices);
     return(this);
 }
Ejemplo n.º 2
0
        public override GameAction OnExecute(AgricolaPlayer player, GameActionData data)
        {
            base.OnExecute(player, data);

            var roomData = ((BuildRoomOrTravelingPlayersActionData)data).Room;
            var foodData = ((BuildRoomOrTravelingPlayersActionData)data).TakeFood;

            if (foodData)
            {
                TakeCaches(player);
            }
            else
            {
                // Make sure to omit the traveling players trigger if triggers ever get passed to build rooms
                ActionService.BuildRooms(player, data.ActionId, ImmutableArray.Create(roomData.Value), ResultingNotices);
            }
            return(this);
        }
Ejemplo n.º 3
0
        public override GameAction OnExecute(AgricolaPlayer player, GameActionData data)
        {
            base.OnExecute(player, data);

            var rooms   = ((BuildRoomsAndStablesActionData)data).RoomData.ToImmutableArray();
            var stables = ((BuildRoomsAndStablesActionData)data).StableData.ToImmutableArray();

            if (rooms.Length > 0)
            {
                ActionService.BuildRooms(player, data.ActionId, rooms, ResultingNotices);
            }

            if (stables.Length > 0)
            {
                ActionService.BuildStables(player, stables, Id, ResultingNotices);
            }
            return(this);
        }