Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
 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;
 }