private void DoAreaRestriction(Listing_Standard listing, Area area, Action <Area> setArea, Func <Area, string> getLabel) { var areaRect = listing.GetRect(24); // Needed for GUI if (SelPawn.playerSettings == null) { SelPawn.playerSettings = new Pawn_PlayerSettings(SelPawn) { AreaRestriction = area }; } SelPawn.playerSettings.AreaRestriction = area; GuestUtility.DoAllowedAreaSelectors(areaRect, SelPawn, getLabel); var newArea = SelPawn.playerSettings.AreaRestriction; SelPawn.playerSettings.AreaRestriction = null; Text.Anchor = TextAnchor.UpperLeft; if (newArea != area) { setArea(newArea); } }
public static void DoAreaRestriction(Rect rect, Area area, Action <Area> setArea, Func <Area, string> getLabel) { var newArea = area; GuestUtility.DoAllowedAreaSelectors(rect, getLabel, ref newArea); Text.Anchor = TextAnchor.UpperLeft; if (newArea != area) { setArea(newArea); } }
public static void DoAreaRestriction(Pawn pawn, Rect rect, Area area, Action <Area> setArea, Func <Area, string> getLabel) { // Needed for GUI if (pawn.playerSettings == null) { pawn.playerSettings = new Pawn_PlayerSettings(pawn) { AreaRestriction = area }; } pawn.playerSettings.AreaRestriction = area; GuestUtility.DoAllowedAreaSelectors(rect, pawn, getLabel); var newArea = pawn.playerSettings.AreaRestriction; pawn.playerSettings.AreaRestriction = null; Text.Anchor = TextAnchor.UpperLeft; if (newArea != area) { setArea(newArea); } }