using RimWorld;
using System.Collections.Generic;
using Verse;
namespace ArachnaeSwarm
{
///
/// 自定义虫洞传送门生成器
///
public class BuildingGroundSpawner_WormholePortal : BuildingGroundSpawner
{
// 存储要传递的Pawn列表
public List emergingPawns = new List();
// 延迟参数
public IntRange? customEmergeDelay = null;
protected override void PostMakeInt()
{
base.PostMakeInt();
// 创建虫洞传送门
ThingDef portalDef = DefDatabase.GetNamed("ARA_WormholePortal");
if (portalDef != null)
{
thingToSpawn = ThingMaker.MakeThing(portalDef);
// 设置Pawn列表
Comp_WormholePortal comp = thingToSpawn.TryGetComp();
if (comp != null && emergingPawns != null)
{
comp.SetEmergingPawns(emergingPawns);
}
}
}
protected override IntRange ResultSpawnDelay
{
get
{
if (customEmergeDelay.HasValue)
return customEmergeDelay.Value;
return base.ResultSpawnDelay;
}
}
public override void ExposeData()
{
base.ExposeData();
Scribe_Collections.Look(ref emergingPawns, "emergingPawns", LookMode.Reference);
Scribe_Values.Look(ref customEmergeDelay, "customEmergeDelay");
}
}
}