public override IEnumerable <FloatMenuOption> GetFloatMenuOptions(Caravan caravan) { foreach (FloatMenuOption o in base.GetFloatMenuOptions(caravan)) { yield return(o); } foreach (FloatMenuOption f in CaravanArrivalAction_DockedBoats.GetFloatMenuOptions(caravan, this)) { yield return(f); } }
public override FloatMenuAcceptanceReport StillValid(Caravan caravan, int destinationTile) { FloatMenuAcceptanceReport floatMenuAcceptanceReport = base.StillValid(caravan, destinationTile); if (!floatMenuAcceptanceReport) { return(floatMenuAcceptanceReport); } if (this.dockedBoat != null && this.dockedBoat.Tile != destinationTile) { return(false); } return(CaravanArrivalAction_DockedBoats.CanVisit(caravan, this.dockedBoat)); }
public static IEnumerable <FloatMenuOption> GetFloatMenuOptions(Caravan caravan, DockedBoat dockedBoat) { return(CaravanArrivalActionUtility.GetFloatMenuOptions <CaravanArrivalAction_DockedBoats>(() => CaravanArrivalAction_DockedBoats.CanVisit(caravan, dockedBoat), () => new CaravanArrivalAction_DockedBoats(dockedBoat), "CommandUndockShip".Translate(dockedBoat.Label), caravan, dockedBoat.Tile, dockedBoat)); }