public void SetPawnAndPod(Pawn pawn, Buildings_BarberPod Pod) { this.Pod = Pod; this.Pawn = pawn; this.PawnStartHairDef = pawn.story.hairDef; this.CurrentHairColor = pawn.story.hairColor; this.PawnStartHairColor = new Color(pawn.story.hairColor.r, pawn.story.hairColor.g, pawn.story.hairColor.b); this.PawnStartSkinColor = new Color(pawn.story.SkinColor.r, pawn.story.SkinColor.g, pawn.story.SkinColor.b); this.PawnStartBodyType = pawn.story.bodyType; this.PawnStartTanValue = pawn.story.melanin; this.PawnStartApp = new List <Apparel>(); while (this.Pawn.apparel.WornApparelCount > 0) { this.PawnStartApp.Add(this.Pawn.apparel.WornApparel[0]); this.Pawn.apparel.Remove(this.Pawn.apparel.WornApparel[0]); } this.PawnStartHeadType = PS_HeadLoader.AllHeads.Where(x => x.TexturePath == this.Pawn.story.HeadGraphicPath).FirstOrDefault(); FoundHeadType = (this.PawnStartHeadType != null); if (!FoundHeadType) { Log.Warning("Unable to find pawn HeadType"); } else { DebugLog(string.Format("Found pawn head type: {0}", this.PawnStartHeadType.FullName)); } this.CurrentHeadType = this.PawnStartHeadType; UpdatePortrate(); }
private void ChangeFace(Pawn pawn, PS_HeadLoader.HeadType head) { typeof(Pawn_StoryTracker).GetField("headGraphicPath", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(pawn.story, head.TexturePath); CurrentHeadType = head; PortraitNeedUpdate = true; }