Exemple #1
0
        public static IEnumerable <FloatMenuOption> GetFloatMenuOptions(CompLaunchablePawn representative, IEnumerable <IThingHolder> pods, Settlement settlement)
        {
            if (ByakheeArrivalAction_AttackSettlement.CanAttack(pods, settlement))
            {
                yield break;
            }

            Func <FloatMenuAcceptanceReport>             acceptanceReportGetter = new Func <FloatMenuAcceptanceReport>(() => CanAttack(pods, settlement));
            Func <ByakheeArrivalAction_AttackSettlement> dropAtEdge             = new Func <ByakheeArrivalAction_AttackSettlement>(() => arrivalActionEdgeDrop(settlement));

            Func <FloatMenuAcceptanceReport> idunno = null;

            foreach (FloatMenuOption floatMenuOption in ByakheeArrivalActionUtility.GetFloatMenuOptions <ByakheeArrivalAction_AttackSettlement>(acceptanceReportGetter, dropAtEdge, "AttackAndDropAtEdge".Translate(settlement.Label), representative, settlement.Tile, null))
            {
                yield return(floatMenuOption);
            }


            Func <ByakheeArrivalAction_AttackSettlement> dropAtCenter = new Func <ByakheeArrivalAction_AttackSettlement>(() => arrivalActionCenterDrop(settlement));

            foreach (FloatMenuOption floatMenuOption2 in ByakheeArrivalActionUtility.GetFloatMenuOptions <ByakheeArrivalAction_AttackSettlement>(acceptanceReportGetter, dropAtCenter, "AttackAndDropInCenter".Translate(settlement.Label), representative, settlement.Tile, null))
            {
                yield return(floatMenuOption2);
            }
            yield break;
        }
Exemple #2
0
 public static IEnumerable <FloatMenuOption> GetFloatMenuOptions(CompLaunchablePawn representative, IEnumerable <IThingHolder> pods, Settlement settlement)
 {
     if (settlement.Faction == Faction.OfPlayer)
     {
         return(Enumerable.Empty <FloatMenuOption>());
     }
     return(ByakheeArrivalActionUtility.GetFloatMenuOptions <ByakheeArrivalAction_GiveGift>(() => ByakheeArrivalAction_GiveGift.CanGiveGiftTo(pods, settlement), () => new ByakheeArrivalAction_GiveGift(settlement), "GiveGiftViaTransportPods".Translate(settlement.Faction.Name, FactionGiftUtility.GetGoodwillChange(pods, settlement).ToStringWithSign()), representative, settlement.Tile, delegate(Action action)
     {
         TradeRequestComp tradeReqComp = settlement.GetComponent <TradeRequestComp>();
         if (tradeReqComp.ActiveRequest && pods.Any((IThingHolder p) => p.GetDirectlyHeldThings().Contains(tradeReqComp.requestThingDef)))
         {
             Find.WindowStack.Add(new Dialog_MessageBox("GiveGiftViaTransportPodsTradeRequestWarning".Translate(), "Yes".Translate(), delegate()
             {
                 action();
             }, "No".Translate(), null, null, false, null, null, WindowLayer.Dialog));
             return;
         }
         action();
     }));
 }
 public static IEnumerable <FloatMenuOption> GetFloatMenuOptions(CompLaunchablePawn representative, IEnumerable <IThingHolder> pods, Settlement settlement)
 {
     return(ByakheeArrivalActionUtility.GetFloatMenuOptions <ByakheeArrivalAction_VisitSettlement>(() => ByakheeArrivalAction_VisitSettlement.CanVisit(pods, settlement), () => new ByakheeArrivalAction_VisitSettlement(settlement), "VisitSettlement".Translate(settlement.Label), representative, settlement.Tile, null));
 }
 public static IEnumerable <FloatMenuOption> GetFloatMenuOptions(CompLaunchablePawn representative, IEnumerable <IThingHolder> pods, Caravan caravan)
 {
     return(ByakheeArrivalActionUtility.GetFloatMenuOptions <ByakheeArrivalAction_GiveToCaravan>(() => ByakheeArrivalAction_GiveToCaravan.CanGiveTo(pods, caravan), () => new ByakheeArrivalAction_GiveToCaravan(caravan), "GiveToCaravan".Translate(caravan.Label), representative, caravan.Tile, null));
 }