public override GameAction OnExecute(AgricolaPlayer player, Data.GameActionData data) { ActionService.BuildRooms( player, data.ActionId, ImmutableArray.Create(((BuildRoomData)data).RoomData), ResultingNotices); return(this); }
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); }
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); }