public Material HeadMatAt(Rot4 facing, RotDrawMode bodyCondition = RotDrawMode.Fresh, bool stump = false) { Material material = null; switch (bodyCondition) { case RotDrawMode.Fresh: material = ((!stump) ? headGraphic.MatAt(facing) : headStumpGraphic.MatAt(facing)); break; case RotDrawMode.Rotting: material = ((!stump) ? desiccatedHeadGraphic.MatAt(facing) : desiccatedHeadStumpGraphic.MatAt(facing)); break; case RotDrawMode.Dessicated: if (!stump) { material = skullGraphic.MatAt(facing); } break; } if (material != null) { if (pawn.IsInvisible()) { material = InvisibilityMatPool.GetInvisibleMat(material); } material = flasher.GetDamagedMat(material); } return(material); }
public List <Material> MatsBodyBaseAt(Rot4 facing, RotDrawMode bodyCondition = RotDrawMode.Fresh) { int num = facing.AsInt + 1000 * (int)bodyCondition; if (num != cachedMatsBodyBaseHash) { cachedMatsBodyBase.Clear(); cachedMatsBodyBaseHash = num; if (bodyCondition == RotDrawMode.Fresh) { cachedMatsBodyBase.Add(nakedGraphic.MatAt(facing)); } else if (bodyCondition == RotDrawMode.Rotting || dessicatedGraphic == null) { cachedMatsBodyBase.Add(rottingGraphic.MatAt(facing)); } else if (bodyCondition == RotDrawMode.Dessicated) { cachedMatsBodyBase.Add(dessicatedGraphic.MatAt(facing)); } for (int i = 0; i < apparelGraphics.Count; i++) { if (apparelGraphics[i].sourceApparel.def.apparel.LastLayer != ApparelLayerDefOf.Shell && apparelGraphics[i].sourceApparel.def.apparel.LastLayer != ApparelLayerDefOf.Overhead) { cachedMatsBodyBase.Add(apparelGraphics[i].graphic.MatAt(facing)); } } } return(cachedMatsBodyBase); }
public Material HairMatAt(Rot4 facing) { Material baseMat = hairGraphic.MatAt(facing); if (pawn.IsInvisible()) { baseMat = InvisibilityMatPool.GetInvisibleMat(baseMat); } return(flasher.GetDamagedMat(baseMat)); }
public Material HairMatAt_NewTemp(Rot4 facing, bool portrait = false) { Material baseMat = hairGraphic.MatAt(facing); if (!portrait && pawn.IsInvisible()) { baseMat = InvisibilityMatPool.GetInvisibleMat(baseMat); } return(flasher.GetDamagedMat(baseMat)); }
public List <Material> MatsBodyBaseAt(Rot4 facing, RotDrawMode bodyCondition = RotDrawMode.Fresh) { int num = facing.AsInt + 1000 * (int)bodyCondition; if (num != cachedMatsBodyBaseHash) { cachedMatsBodyBase.Clear(); cachedMatsBodyBaseHash = num; switch (bodyCondition) { case RotDrawMode.Fresh: cachedMatsBodyBase.Add(nakedGraphic.MatAt(facing)); break; default: if (dessicatedGraphic != null) { if (bodyCondition == RotDrawMode.Dessicated) { cachedMatsBodyBase.Add(dessicatedGraphic.MatAt(facing)); } break; } goto case RotDrawMode.Rotting; case RotDrawMode.Rotting: cachedMatsBodyBase.Add(rottingGraphic.MatAt(facing)); break; } for (int i = 0; i < apparelGraphics.Count; i++) { ApparelGraphicRecord apparelGraphicRecord = apparelGraphics[i]; if (apparelGraphicRecord.sourceApparel.def.apparel.LastLayer != ApparelLayerDefOf.Shell) { ApparelGraphicRecord apparelGraphicRecord2 = apparelGraphics[i]; if (apparelGraphicRecord2.sourceApparel.def.apparel.LastLayer != ApparelLayerDefOf.Overhead) { List <Material> list = cachedMatsBodyBase; ApparelGraphicRecord apparelGraphicRecord3 = apparelGraphics[i]; list.Add(apparelGraphicRecord3.graphic.MatAt(facing)); } } } } return(cachedMatsBodyBase); }
public Material HairMatAt(Rot4 facing) { Material baseMat = hairGraphic.MatAt(facing); return(flasher.GetDamagedMat(baseMat)); }