public static float CalculateNaturalPartsAverageEfficiency(HediffSet diffSet, BodyPartGroupDef bodyPartGroup) { float num = 0f; int num2 = 0; IEnumerable <BodyPartRecord> enumerable = from x in diffSet.GetNotMissingParts(BodyPartHeight.Undefined, BodyPartDepth.Undefined, null) where x.groups.Contains(bodyPartGroup) select x; foreach (BodyPartRecord part in enumerable) { if (!diffSet.PartOrAnyAncestorHasDirectlyAddedParts(part)) { num += PawnCapacityUtility.CalculatePartEfficiency(diffSet, part, false, null); } num2++; } float result; if (num2 == 0 || num < 0f) { result = 0f; } else { result = num / (float)num2; } return(result); }
public static float CalculateNaturalPartsAverageEfficiency(HediffSet diffSet, BodyPartGroupDef bodyPartGroup) { float num = 0f; int num2 = 0; foreach (BodyPartRecord item in from x in diffSet.GetNotMissingParts() where x.groups.Contains(bodyPartGroup) select x) { if (!diffSet.PartOrAnyAncestorHasDirectlyAddedParts(item)) { num += CalculatePartEfficiency(diffSet, item); } num2++; } if (num2 == 0 || num < 0f) { return(0f); } return(num / (float)num2); }
public static float CalculateNaturalPartsAverageEfficiency(HediffSet diffSet, BodyPartGroupDef bodyPartGroup) { float num = 0f; int num2 = 0; IEnumerable <BodyPartRecord> enumerable = from x in diffSet.GetNotMissingParts(BodyPartHeight.Undefined, BodyPartDepth.Undefined) where x.groups.Contains(bodyPartGroup) select x; foreach (BodyPartRecord item in enumerable) { if (!diffSet.PartOrAnyAncestorHasDirectlyAddedParts(item)) { num += PawnCapacityUtility.CalculatePartEfficiency(diffSet, item, false, null); } num2++; } if (num2 != 0 && !(num < 0.0)) { return(num / (float)num2); } return(0f); }
private static IEnumerable <BodyPartRecord> HittablePartsViolence(HediffSet bodyModel) { return(from x in bodyModel.GetNotMissingParts() where x.depth == BodyPartDepth.Outside || (x.depth == BodyPartDepth.Inside && x.def.IsSolid(x, bodyModel.hediffs)) select x); }