public override IEnumerable <Gizmo> GetGizmos() { if (this.IsPlayerControlled) { Command_Action command_Action = new Command_Action(); command_Action.defaultLabel = "CommandLaunchShip".Translate(); command_Action.defaultDesc = "CommandLaunchShipDesc".Translate(); command_Action.icon = DropShipUtility.LaunchSingleCommandTex; command_Action.action = delegate { SoundDef.Named("ShipTakeoff_SuborbitalLaunch").PlayOneShotOnCamera(); this.ships[0].StartChoosingDestination(this.ships[0], false); }; yield return(command_Action); if (Find.WorldSelector.SingleSelectedObject == this) { yield return(TravelingShipsUtility.ShipTouchdownCommand(this, true)); yield return(TravelingShipsUtility.ShipTouchdownCommand(this, false)); } FactionBase factionBase = CaravanVisitUtility.FactionBaseVisitedNow(this); if (factionBase != null && factionBase.CanTradeNow) { yield return(TravelingShipsUtility.TradeCommand(this)); } if (CaravanJourneyDestinationUtility.AnyJurneyDestinationAt(base.Tile)) { yield return(CaravanJourneyDestinationUtility.TakeOffCommand(base.Tile)); } } }
public override IEnumerable <Gizmo> GetGizmos() { if (this.IsPlayerControlled) { Command_Action command_Action = new Command_Action(); command_Action.defaultLabel = "CommandLaunchShip".Translate(); command_Action.defaultDesc = "CommandLaunchShipDesc".Translate(); command_Action.icon = DropShipUtility.LaunchSingleCommandTex; command_Action.action = delegate { SoundDef.Named("ShipTakeoff_SuborbitalLaunch").PlayOneShotOnCamera(); this.ships[0].StartChoosingDestination(this.ships[0], false); }; yield return(command_Action); if (Find.WorldSelector.SingleSelectedObject == this) { yield return(TravelingShipsUtility.ShipTouchdownCommand(this, true)); yield return(TravelingShipsUtility.ShipTouchdownCommand(this, false)); } Settlement factionBase = CaravanVisitUtility.SettlementVisitedNow(this); if (factionBase != null && factionBase.CanTradeNow) { yield return(TravelingShipsUtility.TradeCommand(this)); } if (CaravanJourneyDestinationUtility.AnyJurneyDestinationAt(base.Tile)) { yield return(CaravanJourneyDestinationUtility.TakeOffCommand(base.Tile)); } if (!this.ships.Any(x => x.ParkingMap == null)) { Command_Action command_Action4 = new Command_Action(); command_Action4.defaultLabel = "CommandTravelParkingPosition".Translate(); command_Action4.defaultDesc = "CommandTravelParkingPositionDesc".Translate(); command_Action4.icon = DropShipUtility.ReturnParkingFleet; command_Action4.action = delegate { foreach (ShipBase ship in this.ships) { ship.TryLaunch(new GlobalTargetInfo(ship.ParkingPosition, ship.ParkingMap), PawnsArriveMode.CenterDrop, TravelingShipArrivalAction.EnterMapFriendly, false); } }; yield return(command_Action4); } } }