Files
ArachnaeSwarm/Source/ArachnaeSwarm/ARA_SpawnPawnFromList/ProductionContracts.cs
2025-09-08 14:39:46 +08:00

49 lines
1.4 KiB
C#

using RimWorld;
using Verse;
namespace ArachnaeSwarm
{
// 重命名以避免冲突
public class QueuedPawnSpawnEntry : IExposable
{
public PawnKindDef pawnKind;
public int delayTicks = 0;
public ResearchProjectDef requiredResearch;
public float totalNutritionNeeded = 0f;
public void ExposeData()
{
Scribe_Defs.Look(ref pawnKind, "pawnKind");
Scribe_Values.Look(ref delayTicks, "delayTicks", 0);
Scribe_Defs.Look(ref requiredResearch, "requiredResearch");
Scribe_Values.Look(ref totalNutritionNeeded, "totalNutritionNeeded", 0f);
}
}
// 重命名以避免冲突
public class QueuedProductionOrder : IExposable
{
public QueuedPawnSpawnEntry entry;
public int spawnUntilTick = -1;
public void ExposeData()
{
if (Scribe.mode == LoadSaveMode.Saving || Scribe.mode == LoadSaveMode.LoadingVars)
{
if (Scribe.EnterNode("entry"))
{
try
{
if (entry == null) entry = new QueuedPawnSpawnEntry();
entry.ExposeData();
}
finally
{
Scribe.ExitNode();
}
}
}
Scribe_Values.Look(ref spawnUntilTick, "spawnUntilTick", -1);
}
}
}