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); }
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); }
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); } }