public static void Postfix(Designator_Install __instance) { if (__instance.PlacingDef is ThingDef thingDef && thingDef.EverTransmitsGas()) { SectionLayer_GasNetwork.DrawGasGridOverlayThisFrame(); } }
public static bool prefix_designate_single_cell(IntVec3 c, Rot4 ___placingRot, Designator_Install __instance) { if (use_native) { return(true); } else { Thing thingToInstall = (Thing)__instance.GetType().GetMethod("get_MiniToInstallOrBuildingToReinstall", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(__instance, new object[] { }); parrot_designate_single_cell(c, ___placingRot, thingToInstall); return(false); } }
// Token: 0x0600000F RID: 15 RVA: 0x000026C8 File Offset: 0x000008C8 public static bool Prefix(Designator_Install __instance, Color ghostCol) { var thing = (Thing)PI_ThingToInstall.GetValue(__instance, null); if (thing.def != ThingDefOf.Gachapon) { return(true); } if (!(thing is Building_Art_Gachapon building_Art_Gachapon)) { return(true); } var ghostGraphic = building_Art_Gachapon.GetGhostGraphic(ghostCol); GachaponGhostDrawer.DrawGhostThing(UI.MouseCell(), (Rot4)FI_PlacingRot.GetValue(__instance), (ThingDef)__instance.PlacingDef, ghostGraphic, AltitudeLayer.PawnState); return(false); }
public override void DrawLayer() { ThingDef thingDef = null; Designator_Build designator_build = Find.DesignatorManager.SelectedDesignator as Designator_Build; if (designator_build != null) { thingDef = designator_build.PlacingDef as ThingDef; } Designator_Install designator_install = Find.DesignatorManager.SelectedDesignator as Designator_Install; if (designator_install != null) { thingDef = designator_install.PlacingDef as ThingDef; } if (thingDef != null && typeof(IBuilding_WaterNet).IsAssignableFrom(thingDef.thingClass)) { base.DrawLayer(); } }
public static void parrot_designate_single_cell(IntVec3 c, Rot4 placingRot, Thing thingToInstall) { use_native = true; try { var sel = Find.Selector.SelectedObjects; Find.Selector.ClearSelection(); Designator_Install ins = (Designator_Install)DesignatorUtility.FindAllowedDesignator <Designator_Install>(); var field = ins.GetType().GetField("placingRot", BindingFlags.NonPublic | BindingFlags.Instance); RimLog.Message("thing : " + thingToInstall); RimLog.Message("field : " + field); field.SetValue(ins, placingRot); Rand.PushState(0); Find.Selector.Select(thingToInstall, false, false); ins.DesignateSingleCell(c); Find.Selector.ClearSelection(); sel.ForEach(u => Find.Selector.Select(u, false, false)); } finally { use_native = false; } }