示例#1
0
 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);
     }
 }
示例#2
0
        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));
        }
示例#3
0
 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));
 }