public static float GetMelaninCommonalityFactor(float melanin) { int skinDataIndexOfMelanin = PawnSkinColors.GetSkinDataIndexOfMelanin(melanin); if (skinDataIndexOfMelanin == PawnSkinColors.SkinColors.Length - 1) { return(PawnSkinColors.GetSkinDataCommonalityFactor(skinDataIndexOfMelanin)); } float t = Mathf.InverseLerp(PawnSkinColors.SkinColors[skinDataIndexOfMelanin].melanin, PawnSkinColors.SkinColors[skinDataIndexOfMelanin + 1].melanin, melanin); return(Mathf.Lerp(PawnSkinColors.GetSkinDataCommonalityFactor(skinDataIndexOfMelanin), PawnSkinColors.GetSkinDataCommonalityFactor(skinDataIndexOfMelanin + 1), t)); }
public static Color GetSkinColor(float melanin) { int skinDataIndexOfMelanin = PawnSkinColors.GetSkinDataIndexOfMelanin(melanin); if (skinDataIndexOfMelanin == PawnSkinColors.SkinColors.Length - 1) { return(PawnSkinColors.SkinColors[skinDataIndexOfMelanin].color); } float t = Mathf.InverseLerp(PawnSkinColors.SkinColors[skinDataIndexOfMelanin].melanin, PawnSkinColors.SkinColors[skinDataIndexOfMelanin + 1].melanin, melanin); return(Color.Lerp(PawnSkinColors.SkinColors[skinDataIndexOfMelanin].color, PawnSkinColors.SkinColors[skinDataIndexOfMelanin + 1].color, t)); }
public static Color GetSkinColor(float melanin) { int skinDataIndexOfMelanin = PawnSkinColors.GetSkinDataIndexOfMelanin(melanin); Color result; if (skinDataIndexOfMelanin == PawnSkinColors.SkinColors.Length - 1) { result = PawnSkinColors.SkinColors[skinDataIndexOfMelanin].color; } else { float t = Mathf.InverseLerp(PawnSkinColors.SkinColors[skinDataIndexOfMelanin].melanin, PawnSkinColors.SkinColors[skinDataIndexOfMelanin + 1].melanin, melanin); result = Color.Lerp(PawnSkinColors.SkinColors[skinDataIndexOfMelanin].color, PawnSkinColors.SkinColors[skinDataIndexOfMelanin + 1].color, t); } return(result); }