mirror of
https://gitgud.io/lutepickle/rjw_menstruation.git
synced 2024-08-14 22:46:52 +00:00
Integration of pregenerated babies into the womb dialog
This commit is contained in:
parent
f5f8eba037
commit
c3176fb0e5
4 changed files with 33 additions and 14 deletions
|
@ -277,8 +277,8 @@ namespace RJW_Menstruation
|
|||
float mainRectHeight = -3f +
|
||||
(Configurations.EnableWombIcon || Configurations.EnableButtonInHT ? 400f : 0f) +
|
||||
(Configurations.EstrusOverridesHookupSettings ? 144f : 0f) +
|
||||
// TODO: Also for modified Biotech pregnancies
|
||||
(Configurations.PregnancySource == Configurations.PregnancyType.MultiplePregnancy ? (Configurations.EnableEnzygoticTwins ? 175f : 75f) : 0f) +
|
||||
(Configurations.PregnancySource == Configurations.PregnancyType.Biotech ? (Configurations.EnableBiotechTwins ? 175f : 75f) : 0f) +
|
||||
(Configurations.EnableBirthVaginaMorph ? 48f : 0f);
|
||||
Rect mainRect = new Rect(0f, 0f, inRect.width - 30f, Math.Max(inRect.height + mainRectHeight, 1f));
|
||||
int Adjust;
|
||||
|
@ -438,7 +438,6 @@ namespace RJW_Menstruation
|
|||
Configurations.PregnancySource = Configurations.PregnancyType.MultiplePregnancy;
|
||||
if (ModsConfig.BiotechActive && listmain.RadioButton(Translations.Option_PregnancyFromBiotech_Label, Configurations.PregnancySource == Configurations.PregnancyType.Biotech))
|
||||
Configurations.PregnancySource = Configurations.PregnancyType.Biotech;
|
||||
|
||||
if (Configurations.PregnancySource == Configurations.PregnancyType.MultiplePregnancy ||
|
||||
(Configurations.PregnancySource == Configurations.PregnancyType.Biotech && Configurations.EnableBiotechTwins))
|
||||
{
|
||||
|
|
|
@ -115,7 +115,10 @@ namespace RJW_Menstruation
|
|||
if (hediff is Hediff_MechanoidPregnancy)
|
||||
return ContentFinder<Texture2D>.Get(("Womb/Mechanoid_Fluid"), true);
|
||||
|
||||
ThingDef babydef = comp.Pawn.def; // TODO: Pregenerated babies
|
||||
ThingDef babydef = comp.Pawn.def;
|
||||
HediffComp_PregeneratedBabies babiescomp = hediff?.TryGetComp<HediffComp_PregeneratedBabies>();
|
||||
if (babiescomp?.HasBaby ?? false)
|
||||
babydef = babiescomp.babies.First().def;
|
||||
float gestationProgress = comp.StageProgress;
|
||||
int babycount = hediff is Hediff_BasePregnancy preg ? preg.babies.Count : 1;
|
||||
|
||||
|
|
|
@ -221,19 +221,36 @@ namespace RJW_Menstruation
|
|||
{
|
||||
if (p is Hediff_Pregnant hp && hp.Severity < 0.2f) cum = comp.GetCumIcon();
|
||||
else cum = ContentFinder<Texture2D>.Get("Womb/Empty", true);
|
||||
// TODO: Pregenerated babies (base on multiplepregnancy)
|
||||
HediffComp_PregeneratedBabies babiescomp = p.TryGetComp<HediffComp_PregeneratedBabies>();
|
||||
if (Utility.ShowFetusInfo())
|
||||
{
|
||||
preginfoheight = fontheight;
|
||||
string feinfo = PregnancyCommon.GetBabyInfo(babiescomp?.babies);
|
||||
string fainfo = PregnancyCommon.GetFatherInfo(babiescomp?.babies, babiescomp.Pawn, true) + " "; // Keep all parents known, for now
|
||||
|
||||
if (feinfo == "Null") feinfo = "1 " + p.Mother.def.label + " " + Translations.Dialog_WombInfo02;
|
||||
if (fainfo == "Null")
|
||||
{
|
||||
string father = p.Father?.LabelShort ?? Translations.Dialog_FatherUnknown;
|
||||
fainfo = Translations.Dialog_WombInfo03 + ": " + father + " ";
|
||||
}
|
||||
|
||||
if (feinfo.Length + fainfo.Length > 45)
|
||||
{
|
||||
preginfoheight = fontheight + 2;
|
||||
buttonstyle.alignment = TextAnchor.UpperLeft;
|
||||
fontstyleright.alignment = TextAnchor.LowerRight;
|
||||
}
|
||||
else
|
||||
{
|
||||
preginfoheight = fontheight;
|
||||
buttonstyle.alignment = TextAnchor.MiddleLeft;
|
||||
|
||||
}
|
||||
|
||||
Rect preginfo = new Rect(0f, mainRect.yMax - wombRectHeight - 2, wombRectWidth, preginfoheight);
|
||||
fontstyleright.normal.textColor = Color.white;
|
||||
fontstyleright.alignment = TextAnchor.MiddleRight;
|
||||
buttonstyle.alignment = TextAnchor.MiddleLeft;
|
||||
|
||||
string father = p.Father?.LabelShort ?? Translations.Dialog_FatherUnknown;
|
||||
|
||||
GUI.Box(preginfo, "1 " + p.Mother.def.label + " " + Translations.Dialog_WombInfo02, buttonstyle);
|
||||
GUI.Label(preginfo, Translations.Dialog_WombInfo03 + ": " + father + " ", fontstyleright);
|
||||
GUI.Box(preginfo, feinfo, buttonstyle);
|
||||
GUI.Label(preginfo, fainfo, fontstyleright);
|
||||
}
|
||||
}
|
||||
else cum = ContentFinder<Texture2D>.Get(("Womb/Empty"), true);
|
||||
|
|
|
@ -188,8 +188,8 @@ namespace RJW_Menstruation
|
|||
return null;
|
||||
}
|
||||
}
|
||||
// TODO: Biotech pregenerated babies
|
||||
return null;
|
||||
HediffComp_PregeneratedBabies babiescomp = comp.Pregnancy.TryGetComp<HediffComp_PregeneratedBabies>();
|
||||
return babiescomp?.babies?.FirstOrDefault();
|
||||
}
|
||||
|
||||
public static void DrawBreastIcon(this Pawn pawn, Rect rect)
|
||||
|
|
Loading…
Reference in a new issue