static void Prefix(Pawn_WorkSettings __instance, WorkTypeDef w, ref int priority)
        {
            __instance.Pawn().SetPriority(w, priority, null);

            // TODO: find a more elegant way to stop RW complaining about bad priorities.
            priority = Mathf.Min(priority, 4);
        }
        static void Prefix(Pawn_WorkSettings __instance)
        {
            //clean favourite in case of pawn reccurect to avoid overriding
            var pawn = __instance.Pawn();

            FavouriteManager.Get[pawn] = null;
        }
        public static void                  ForcePriority(this Pawn_WorkSettings p, WorkTypeDef w, int priority)
        {
            p.ConfirmInitializedDebug();
            if (
                (priority < 0) ||
                (priority > 4)
                )
            {
                Log.Message("Trying to set work to invalid priority " + (object)priority);
            }
            var priorities = p.Priorities();

            priorities[w] = priority;
            if (priority == 0)
            {
                p.Pawn().mindState.Notify_WorkPriorityDisabled(w);
            }
            p.WorkGiversDirtySet(true);
        }
Exemple #4
0
 static void Prefix(Pawn_WorkSettings __instance, WorkTypeDef w, int priority)
 {
     __instance.Pawn().SetPriority(w, priority, null);
 }
Exemple #5
0
 public static void Prefix(Pawn_WorkSettings __instance)
 {
     __instance.Pawn().DisableAll();
 }
 static bool Prefix(WorkTypeDef w, Pawn_WorkSettings __instance, ref int __result)
 {
     __result = __instance.Pawn().GetPriority(w, -1);
     return(false);
 }