Class SpawnSystem

Namespace
SurvivorsMaker.Simulation
Assembly
SurvivorsMaker.Simulation.dll

Schedules groups and hordes, advances telegraphs and materializes admitted enemies.

public sealed class SpawnSystem : ISpawnSystem
Inheritance
SpawnSystem
Implements
Inherited Members

Constructors

SpawnSystem()

public SpawnSystem()

Methods

Admit(SimWorld, List<SpawnRequest>)

Steps 6 and 11: admits requests (clamped, capacity checked) and clears the list.

public void Admit(SimWorld world, List<SpawnRequest> requests)

Parameters

world SimWorld
requests List<SpawnRequest>

AdvanceTelegraphs(SimWorld)

Step 2 (telegraphs): counts down existing telegraphs and turns expired ones into enemies.

public void AdvanceTelegraphs(SimWorld world)

Parameters

world SimWorld

Begin(SimWorld)

At wave start: picks active groups and builds their occurrence ticks.

public void Begin(SimWorld world)

Parameters

world SimWorld

RunSchedule(SimWorld)

Step 3 (schedule): occurrences due this tick → telegraphs.

public void RunSchedule(SimWorld world)

Parameters

world SimWorld

SpawnImmediately(SimWorld, EnemyDef, Vec2, bool)

Creates an enemy now, bypassing telegraph and capacity (tests and tools).

public Enemy SpawnImmediately(SimWorld world, EnemyDef def, Vec2 position, bool neutral)

Parameters

world SimWorld
def EnemyDef
position Vec2
neutral bool

Returns

Enemy

SpawnImmediately(SimWorld, EnemyDef, Vec2, bool, EliteDef)

Tool overload for an explicit elite, still bypassing telegraph and capacity.

public Enemy SpawnImmediately(SimWorld world, EnemyDef def, Vec2 position, bool neutral, EliteDef elite)

Parameters

world SimWorld
def EnemyDef
position Vec2
neutral bool
elite EliteDef

Returns

Enemy

Validate(ArenaDef)

Returns authored schedule or spawn-definition problems without materializing enemies.

public static List<string> Validate(ArenaDef def)

Parameters

def ArenaDef

Returns

List<string>

Validate(HordeEventDef)

Returns authored schedule or spawn-definition problems without materializing enemies.

public static List<string> Validate(HordeEventDef def)

Parameters

def HordeEventDef

Returns

List<string>

Validate(SpawnEntryDef)

Returns authored schedule or spawn-definition problems without materializing enemies.

public static List<string> Validate(SpawnEntryDef def)

Parameters

def SpawnEntryDef

Returns

List<string>

Validate(SpawnGroupDef)

Returns authored schedule or spawn-definition problems without materializing enemies.

public static List<string> Validate(SpawnGroupDef def)

Parameters

def SpawnGroupDef

Returns

List<string>

Validate(WaveDef)

Returns authored schedule or spawn-definition problems without materializing enemies.

public static List<string> Validate(WaveDef def)

Parameters

def WaveDef

Returns

List<string>