public static void Prefix(Vector3 clickPos, Pawn pawn)
            {
                // Ok this is a bit ridiculous but lets try it anyway...
                //   We save all existing designations at this cell and remove them
                //   Then for every thing here, we create all designations for them
                //   So they should get flagged as a viable target for every possible job
                //   Wish me luck.
                if (pawn != null)
                {
                    CompMeeseeksMemory compMeeseeksMemory = pawn.GetComp <CompMeeseeksMemory>();

                    if (compMeeseeksMemory != null && compMeeseeksMemory.CanTakeOrders())
                    {
                        IntVec3 cell = IntVec3.FromVector3(clickPos);
                        DesignatorUtility.ForceAllDesignationsOnCell(cell, pawn.MapHeld);
                    }
                }
            }
            public static void Postfix(List <FloatMenuOption> __result, Vector3 clickPos, Pawn pawn)
            {
                if (pawn != null)
                {
                    CompMeeseeksMemory compMeeseeksMemory = pawn.GetComp <CompMeeseeksMemory>();

                    if (compMeeseeksMemory != null && compMeeseeksMemory.CanTakeOrders())
                    {
                        IntVec3         intVec      = IntVec3.FromVector3(clickPos);
                        FloatMenuOption guardOption = GuardLocationOption(compMeeseeksMemory, intVec, pawn);

                        if (guardOption != null)
                        {
                            __result.Add(guardOption);
                        }
                    }
                }
            }
            public static void Postfix(Pawn pawn, ref bool __result)
            {
                //Logger.MessageFormat(pawn, "CanTakeOrder Postfix");

                if (pawn != null)
                {
                    CompMeeseeksMemory compMeeseeksMemory = pawn.GetComp <CompMeeseeksMemory>();

                    if (compMeeseeksMemory != null)
                    {
                        bool canTakeOrder = compMeeseeksMemory.CanTakeOrders();

                        Logger.MessageFormat(pawn, "CanTakeOrder Meeseeks: {0}", canTakeOrder.ToString());

                        if (!canTakeOrder)
                        {
                            __result = false;
                        }
                    }
                }
            }