public override bool InheritInteractionsFrom(Gizmo other) { Command_LoadToTransporterPawn command_LoadToTransporter = (Command_LoadToTransporterPawn)other; if (command_LoadToTransporter.transComp.parent.def != this.transComp.parent.def) { return(false); } if (this.transporters == null) { this.transporters = new List <CompTransporterPawn>(); } this.transporters.Add(command_LoadToTransporter.transComp); return(false); }
public override IEnumerable <Gizmo> GetGizmos() { using var enumerator = base.GetGizmos().GetEnumerator(); while (enumerator.MoveNext()) { var current = enumerator.Current; yield return(current); } if (Faction != Faction.OfPlayer || Dead || Dead) { yield break; } if (compTransporterPawn.LoadingInProgressOrReadyToLaunch) { var command_Action = new Command_Action { defaultLabel = "CommandLaunchGroup".Translate(), defaultDesc = "CommandLaunchGroupDesc".Translate(), icon = ContentFinder <Texture2D> .Get("UI/Icons/Commands/FlyingTarget"), action = delegate { if (compTransporterPawn.AnyInGroupHasAnythingLeftToLoad) { Find.WindowStack.Add(Dialog_MessageBox.CreateConfirmation( "ConfirmSendNotCompletelyLoadedPods".Translate( compTransporterPawn.FirstThingLeftToLoadInGroup.LabelCap ), compLaunchablePawn.StartChoosingDestination)); } else { compLaunchablePawn.StartChoosingDestination(); } } }; if (compLaunchablePawn.AnyInGroupIsUnderRoof) { command_Action.Disable("CommandLaunchGroupFailUnderRoof".Translate()); } yield return(command_Action); } if (compTransporterPawn.LoadingInProgressOrReadyToLaunch) { yield return(new Command_Action { defaultLabel = "CommandCancelLoad".Translate(), defaultDesc = "CommandCancelLoadDesc".Translate(), icon = CompTransporterPawn.CancelLoadCommandTex, action = delegate { SoundDefOf.Designate_Cancel.PlayOneShotOnCamera(); compTransporterPawn.CancelLoad(); } }); } var command_LoadToTransporter = new Command_LoadToTransporterPawn(); var num = 0; for (var i = 0; i < Find.Selector.NumSelected; i++) { if (Find.Selector.SelectedObjectsListForReading[i] is not Thing thing || thing.def != def) { continue; } var compLaunchable = thing.TryGetComp <CompLaunchablePawn>(); if (compLaunchable != null) { num++; } } command_LoadToTransporter.defaultLabel = "CommandLoadTransporter".Translate( num.ToString() ); command_LoadToTransporter.defaultDesc = "CommandLoadTransporterDesc".Translate(); command_LoadToTransporter.icon = CompTransporterPawn.LoadCommandTex; command_LoadToTransporter.transComp = compTransporterPawn; var launchable = compTransporterPawn.Launchable; yield return(command_LoadToTransporter); }
public override IEnumerable <Gizmo> CompGetGizmosExtra() { var enumerator = base.CompGetGizmosExtra().GetEnumerator(); while (enumerator.MoveNext()) { var current = enumerator.Current; yield return(current); } if (LoadingInProgressOrReadyToLaunch) { yield return(new Command_Action { defaultLabel = "CommandCancelLoad".Translate(), defaultDesc = "CommandCancelLoadDesc".Translate(), icon = CancelLoadCommandTex, action = delegate { SoundDefOf.Designate_Cancel.PlayOneShotOnCamera(); CancelLoad(); } }); } var Command_LoadToTransporterPawn = new Command_LoadToTransporterPawn(); var num = 0; for (var i = 0; i < Find.Selector.NumSelected; i++) { if (Find.Selector.SelectedObjectsListForReading[i] is Thing thing && thing.def == parent.def) { var CompLaunchablePawn = thing.TryGetComp <CompLaunchablePawn>(); if (CompLaunchablePawn == null) { num++; } } } Command_LoadToTransporterPawn.defaultLabel = "CommandLoadTransporter".Translate( num.ToString() ); Command_LoadToTransporterPawn.defaultDesc = "CommandLoadTransporterDesc".Translate(); Command_LoadToTransporterPawn.icon = LoadCommandTex; Command_LoadToTransporterPawn.transComp = this; var launchable = Launchable; //if (launchable != null) //{ // if (!launchable.ConnectedToFuelingPort) // { // Command_LoadToTransporterPawn.Disable("CommandLoadTransporterFailNotConnectedToFuelingPort".Translate()); // } // else if (!launchable.FuelingPortSourceHasAnyFuel) // { // Command_LoadToTransporterPawn.Disable("CommandLoadTransporterFailNoFuel".Translate()); // } //} yield return(Command_LoadToTransporterPawn); }
public override IEnumerable <Gizmo> GetGizmos() { IEnumerator <Gizmo> enumerator = base.GetGizmos().GetEnumerator(); while (enumerator.MoveNext()) { Gizmo current = enumerator.Current; yield return(current); } if (this.Faction == Faction.OfPlayer && !this.Dead && !this.Dead) { if (compTransporterPawn.LoadingInProgressOrReadyToLaunch) { Command_Action command_Action = new Command_Action(); command_Action.defaultLabel = "CommandLaunchGroup".Translate(); command_Action.defaultDesc = "CommandLaunchGroupDesc".Translate(); command_Action.icon = ContentFinder <Texture2D> .Get("UI/Icons/Commands/FlyingTarget", true); command_Action.action = delegate { DoLaunchGroup(); }; if (compLaunchablePawn.AnyInGroupIsUnderRoof) { command_Action.Disable("CommandLaunchGroupFailUnderRoof".Translate()); } yield return(command_Action); } if (compTransporterPawn.LoadingInProgressOrReadyToLaunch) { yield return(new Command_Action { defaultLabel = "CommandCancelLoad".Translate(), defaultDesc = "CommandCancelLoadDesc".Translate(), icon = CompTransporterPawn.CancelLoadCommandTex, action = delegate { DoCancelLoad(); } }); } Command_LoadToTransporterPawn command_LoadToTransporter = new Command_LoadToTransporterPawn(); int num = 0; for (int i = 0; i < Find.Selector.NumSelected; i++) { Thing thing = Find.Selector.SelectedObjectsListForReading[i] as Thing; if (thing != null && thing.def == this.def) { CompLaunchablePawn compLaunchable = thing.TryGetComp <CompLaunchablePawn>(); if (compLaunchable != null) { num++; } } } command_LoadToTransporter.defaultLabel = "CommandLoadTransporter".Translate(new object[] { num.ToString() }); command_LoadToTransporter.defaultDesc = "CommandLoadTransporterDesc".Translate(); command_LoadToTransporter.icon = CompTransporterPawn.LoadCommandTex; command_LoadToTransporter.transComp = compTransporterPawn; CompLaunchablePawn launchable = compTransporterPawn.Launchable; yield return(command_LoadToTransporter); } yield break; }
public override IEnumerable <Gizmo> CompGetGizmosExtra() { IEnumerator <Gizmo> enumerator = base.CompGetGizmosExtra().GetEnumerator(); while (enumerator.MoveNext()) { Gizmo current = enumerator.Current; yield return(current); } if (this.LoadingInProgressOrReadyToLaunch) { yield return(new Command_Action { defaultLabel = "CommandCancelLoad".Translate(), defaultDesc = "CommandCancelLoadDesc".Translate(), icon = CompTransporterPawn.CancelLoadCommandTex, action = delegate { DoCancelLoad(); } }); } Command_LoadToTransporterPawn Command_LoadToTransporterPawn = new Command_LoadToTransporterPawn(); int num = 0; for (int i = 0; i < Find.Selector.NumSelected; i++) { Thing thing = Find.Selector.SelectedObjectsListForReading[i] as Thing; if (thing != null && thing.def == this.parent.def) { CompLaunchablePawn CompLaunchablePawn = thing.TryGetComp <CompLaunchablePawn>(); if (CompLaunchablePawn == null) { num++; } } } Command_LoadToTransporterPawn.defaultLabel = "CommandLoadTransporter".Translate(new object[] { num.ToString() }); Command_LoadToTransporterPawn.defaultDesc = "CommandLoadTransporterDesc".Translate(); Command_LoadToTransporterPawn.icon = CompTransporterPawn.LoadCommandTex; Command_LoadToTransporterPawn.transComp = this; CompLaunchablePawn launchable = this.Launchable; //if (launchable != null) //{ // if (!launchable.ConnectedToFuelingPort) // { // Command_LoadToTransporterPawn.Disable("CommandLoadTransporterFailNotConnectedToFuelingPort".Translate()); // } // else if (!launchable.FuelingPortSourceHasAnyFuel) // { // Command_LoadToTransporterPawn.Disable("CommandLoadTransporterFailNoFuel".Translate()); // } //} yield return(Command_LoadToTransporterPawn); yield break; }