public override GameAction OnExecute(AgricolaPlayer player, GameActionData data) { base.OnExecute(player, data); ActionService.BuyImprovement(player, (ImprovementActionData)data, ResultingNotices); return(this); }
public override GameAction OnExecute(AgricolaPlayer player, Data.GameActionData data) { base.OnExecute(player, data); player.AddFamilyMember(); AddUser(player); // Add the baby to the action display ResultingNotices.Add(new GameActionNotice(player.Name, NoticeVerb.GrowFamily.ToString())); if (mode == FamilyGrowthActionMode.Improvement && ((FamilyGrowthActionData)data).ImprovementData != null) { ActionService.BuyImprovement(player, ((FamilyGrowthActionData)data).ImprovementData, ResultingNotices); } return(this); }
public override GameAction OnExecute(AgricolaPlayer player, GameActionData data) { base.OnExecute(player, data); if (familyMode) { this.TakeCaches(player); } else { var improvementData = ((StartingPlayerActionData)data).ImprovementData; if (improvementData != null) { ActionService.BuyImprovement(player, improvementData, ResultingNotices); } } Game.StartingPlayer = player; this.ResultingNotices.Add(new GameActionNotice(player.Name, NoticeVerb.Starts.ToString())); return(this); }
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); }