public static void Prefix()
        {
            FloatMenu floatMenu = Find.WindowStack.FloatMenu;

            if (floatMenu != null && !floatMenu.GetType().IsSubclassOf(typeof(FloatMenu)))
            {
                floatMenu.Close(false);
            }
        }
        private static void Postfix(ref float __result, UnityEngine.Rect leftRect, Pawn pawn, float curY)
        {
            if (!Registry.IsActive)
            {
                return;
            }

            FloatMenu overviewWindowStack = Find.WindowStack.FloatMenu;

            if (overviewWindowStack == null)
            {
                return;
            }

            List <FloatMenuOption> overviewWindowStackOptions = (List <FloatMenuOption>) typeof(FloatMenu).GetField("options", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(overviewWindowStack);

            if (overviewWindowStackOptions?.Count > 0 && overviewWindowStackOptions.Last().Label.Equals("ManageFoodRestrictions".Translate()))
            {
                overviewWindowStack.Close(false);
                Dialog_Rules.Open(pawn);
            }
        }