Ejemplo n.º 1
0
 static void Postfix(Map ___map, bool __result, Area_Allowed area)
 {
     if (__result)
     {
         ___map.GetListerFilthInAreas().EnsureAreaHasKey(area);
         ___map.GetCleaningManager().MarkAddablesOutdated();
     }
 }
Ejemplo n.º 2
0
        public void Swap(Area_Allowed a, Area b)
        {
            int temp = areaIndex[a.ID];

            areaIndex[a.ID] = areaIndex[b.ID];
            areaIndex[b.ID] = temp;
            SortMap();
        }
Ejemplo n.º 3
0
        private static void ChangeColour(Area_Allowed area)
        {
            Find.WindowStack.Add(new Dialog_ColourPicker(area.Color, (colour) =>
            {
                Traverse.Create(area).Field("colorInt").SetValue(colour);

                // we also need to clear the texture and material caches
                Traverse.Create(area).Field("colorTextureInt").SetValue(null);
                Traverse.Create(area).Field("drawer").SetValue(null);
            }));
        }
Ejemplo n.º 4
0
        public void AddStartingAreas()
        {
            this.areas.Add(new Area_Home(this));
            this.areas.Add(new Area_BuildRoof(this));
            this.areas.Add(new Area_NoRoof(this));
            this.areas.Add(new Area_SnowClear(this));
            Area_Allowed area_Allowed = default(Area_Allowed);

            this.TryMakeNewAllowed(AllowedAreaMode.Humanlike, out area_Allowed);
            this.TryMakeNewAllowed(AllowedAreaMode.Animal, out area_Allowed);
        }
Ejemplo n.º 5
0
 public bool TryMakeNewAllowed(out Area_Allowed area)
 {
     if (!CanMakeNewAllowed())
     {
         area = null;
         return(false);
     }
     area = new Area_Allowed(this);
     areas.Add(area);
     SortAreas();
     return(true);
 }
Ejemplo n.º 6
0
 public bool TryMakeNewAllowed(AllowedAreaMode mode, out Area_Allowed area)
 {
     if (!this.CanMakeNewAllowed(mode))
     {
         area = null;
         return(false);
     }
     area = new Area_Allowed(this, mode, null);
     this.areas.Add(area);
     this.SortAreas();
     return(true);
 }
 public static void setLabel(Area_Allowed area, string label)
 {
     use_native = true;
     try
     {
         area.SetLabel(label);
     }
     finally
     {
         use_native = false;
     }
 }
 public static bool prefix(Area_Allowed __instance, string label)
 {
     if (use_native)
     {
         return(true);
     }
     else
     {
         setLabel(__instance, label);
         return(false);
     }
 }
Ejemplo n.º 9
0
        //Unoptimized non-static AccessTools but this isn't called often
        public static void SetColor(this Area_Allowed area, Color color)
        {
            FieldInfo colorInfo = AccessTools.Field(typeof(Area_Allowed), "colorInt");

            colorInfo.SetValue(area, color);

            FieldInfo colorTextureInfo = AccessTools.Field(typeof(Area_Allowed), "colorTextureInt");

            colorTextureInfo.SetValue(area, null);

            FieldInfo drawerInfo = AccessTools.Field(typeof(Area_Allowed), "drawer");

            drawerInfo.SetValue(area, null);
        }
Ejemplo n.º 10
0
        private void SetArea(Designator_AreaAllowedExpand des, Area_Allowed a)
        {
            if (a == null)
            {
                return;
            }
            Type      desType   = typeof(Designator_AreaAllowed);
            FieldInfo areaToSet = desType.GetField("selectedArea", BindingFlags.NonPublic | BindingFlags.Static);

            if (areaToSet != null)
            {
                areaToSet.SetValue(null, a);
            }
        }
Ejemplo n.º 11
0
        public bool TryMakeNewAllowed(out Area_Allowed area)
        {
            bool result;

            if (!this.CanMakeNewAllowed())
            {
                area   = null;
                result = false;
            }
            else
            {
                area = new Area_Allowed(this, null);
                this.areas.Add(area);
                this.SortAreas();
                result = true;
            }
            return(result);
        }
Ejemplo n.º 12
0
 public int AdjustFor(Area_Allowed area)
 {
     return(areaIndex.GetValueSafe(area.ID));
 }
Ejemplo n.º 13
0
 public static void Postfix(Area_Allowed __instance, ref int __result)
 {
     __result -= __instance.Map.GetComponent <MapComponent_AreaOrder>()?.AdjustFor(__instance) ?? 0;
 }
Ejemplo n.º 14
0
 public Dialog_RecolorArea(Area_Allowed area)
 {
     this.area    = area;
     this.curName = ColorUtility.ToHtmlStringRGB(area.Color).ToUpper();
 }