This commit is contained in:
2025-09-08 18:05:15 +08:00
parent f72fb7e62e
commit 1a102fcf31
4 changed files with 16 additions and 5 deletions

Binary file not shown.

View File

@@ -309,6 +309,7 @@
<thingDef>ARA_RW_Basic_Fist_Needle_Gun</thingDef>
<productionTicks>40000</productionTicks>
<totalNutritionNeeded>10</totalNutritionNeeded>
<!--<requiredResearch>ARA_Technology_5PAV</requiredResearch>-->
</li>
</processes>
@@ -509,6 +510,7 @@
<thingDef>ARA_RW_Basic_Acid_Bladder_Gun</thingDef>
<productionTicks>80000</productionTicks>
<totalNutritionNeeded>30</totalNutritionNeeded>
<!--<requiredResearch>ARA_Technology_7VXI</requiredResearch>-->
</li>
</processes>

View File

@@ -112,12 +112,20 @@ namespace ArachnaeSwarm
foreach (var process in Props.processes)
{
yield return new FloatMenuOption("StartProduction".Translate(process.thingDef.label), () =>
if (process.requiredResearch != null && !process.requiredResearch.IsFinished)
{
this._selectedProcess = process;
Job job = JobMaker.MakeJob(DefDatabase<JobDef>.GetNamed("ARA_StartInteractiveProduction"), parent);
selPawn.jobs.TryTakeOrderedJob(job, JobTag.Misc);
});
string disabledText = "StartProduction".Translate(process.thingDef.label) + " (" + "Requires".Translate() + ": " + process.requiredResearch.label + ")";
yield return new FloatMenuOption(disabledText, null);
}
else
{
yield return new FloatMenuOption("StartProduction".Translate(process.thingDef.label), () =>
{
this._selectedProcess = process;
Job job = JobMaker.MakeJob(DefDatabase<JobDef>.GetNamed("ARA_StartInteractiveProduction"), parent);
selPawn.jobs.TryTakeOrderedJob(job, JobTag.Misc);
});
}
}
}

View File

@@ -15,6 +15,7 @@ namespace ArachnaeSwarm
public ThingDef thingDef;
public int productionTicks;
public float totalNutritionNeeded;
public ResearchProjectDef requiredResearch;
}
public class QualityThreshold