static void Prefix(Dialog_LoadTransporters __instance, Map map, List <CompTransporter> transporters) { if (__instance.GetType() != typeof(Dialog_LoadTransporters)) { return; } if (Multiplayer.ExecutingCmds || Multiplayer.Ticking) { var comp = map.MpComp(); TransporterLoading loading = comp.CreateTransporterLoadingSession(transporters); if (TickPatch.currentExecutingCmdIssuedBySelf) { loading.OpenWindow(); } } }
static bool Prefix(Dialog_LoadTransporters __instance, Map map, List <CompTransporter> transporters) { if (__instance.GetType() != typeof(Dialog_LoadTransporters)) { return(true); } if (Multiplayer.ExecutingCmds || Multiplayer.Ticking) { var comp = map.MpComp(); if (comp.transporterLoading == null) { comp.CreateTransporterLoadingSession(transporters); } return(true); } return(true); }
public static bool Prefix(Dialog_LoadTransporters __instance) { Traverse traverse = Traverse.Create((object)__instance); foreach (ThingComp thingComp in traverse.Field("transporters").GetValue <List <CompTransporter> >()) { if (thingComp.parent.TryGetComp <CompLaunchableHelicopter>() != null) { List <Pawn> pawnList = CaravanFormingUtility.AllSendablePawns(traverse.Field("map").GetValue <Map>(), true, true, true, true); for (int index = 0; index < pawnList.Count; ++index) { __instance.GetType().GetMethod("AddToTransferables", BindingFlags.Instance | BindingFlags.NonPublic).Invoke((object)__instance, new object[1] { (object)pawnList[index] }); } return(false); } } return(true); }
public static bool Prefix(Dialog_LoadTransporters __instance, List <CompTransporter> ___transporters) { Traverse tv = Traverse.Create(__instance); foreach (CompTransporter lpc in ___transporters) { if (lpc.parent.TryGetCompFast <CompDropship>() != null) { Map map = tv.Field("map").GetValue <Map>(); List <Pawn> list = CaravanFormingUtility.AllSendablePawns(map, true, true, true, true); for (int i = 0; i < list.Count; i++) { Type typ = __instance.GetType(); MethodInfo minfo = typ.GetMethod("AddToTransferables", BindingFlags.NonPublic | BindingFlags.Instance); minfo.Invoke(__instance, new object[] { list[i] }); // __instance.AddToTransferables(list[i]); } return(false); } } return(true); }