コード例 #1
0
 public static void CreatePawn_WishTracker(this Pawn pawn, Pawn_WishTracker tracker)
 {
     if (PawnTrackerSetted(pawn))
     {
         Log.Message(pawn.Name.ToStringFull + "already have a Pawn_WishTracker, are you sure you should replace it?");
         RemovePawn_WishTracker(pawn);
     }
     pawnWishTracker.Add(pawn, tracker);
 }
コード例 #2
0
        static void InformWish(Pawn pawn, Thing thing, int amount, float nutriment)
        {
            Pawn_WishTracker wishes = pawn.wishes();

            if (wishes == null)
            {
                return;
            }
            wishes.TryResolveIngestible(thing, amount, nutriment);
        }
コード例 #3
0
        static void ExposeData(Pawn pawn)
        {
            Pawn_WishTracker wishes           = pawn.wishes();
            bool             shouldAddTracker = (wishes == null) ? true :  false;

            Scribe_Deep.Look(ref wishes, "wishes", pawn);
            if (wishes != null && shouldAddTracker)
            {
                pawn.CreatePawn_WishTracker(wishes);
            }
        }