Ejemplo n.º 1
0
        public static bool ShouldShowSpots(MainTabsRoot __instance)
        {
            if (__instance.OpenTab == null)
            {
                return(false);
            }

            if (string.Equals(__instance.OpenTab.defName, "Architect"))
            {
                return(true);
            }

            if (string.Equals(__instance.OpenTab.defName, "Inspect"))
            {
                Thing _FirstThing = Find.Selector.FirstSelectedObject as Thing;

                if (_FirstThing != null)
                {
                    if (String.Equals(_FirstThing.def.defName, "MarriageSpot") ||
                        String.Equals(_FirstThing.def.defName, "PartySpot") ||
                        String.Equals(_FirstThing.def.defName, "CaravanPackingSpot"))
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
Ejemplo n.º 2
0
 // postfix
 public static void SetDrawStatusPostfix(MainTabsRoot __instance)
 {
     if (PatchMainTabsRoot.ShouldShowSpots(__instance))
     {
         ThingDefOf.MarriageSpot.drawerType       = DrawerType.MapMeshAndRealTime;
         ThingDefOf.CaravanPackingSpot.drawerType = DrawerType.MapMeshAndRealTime;
         ThingDefOf.PartySpot.drawerType          = DrawerType.MapMeshAndRealTime;
         PatchMainTabsRoot.MarkMapMeshAsDirty();
     }
     else
     {
         ThingDefOf.MarriageSpot.drawerType       = DrawerType.None;
         ThingDefOf.CaravanPackingSpot.drawerType = DrawerType.None;
         ThingDefOf.PartySpot.drawerType          = DrawerType.None;
         PatchMainTabsRoot.MarkMapMeshAsDirty();
     }
 }