Class WaveSimulation
- Namespace
- SurvivorsMaker.Simulation
- Assembly
- SurvivorsMaker.Simulation.dll
Runs one wave with a fixed, deterministic system order.
public sealed class WaveSimulation
- Inheritance
-
WaveSimulation
- Inherited Members
Constructors
WaveSimulation(SimSystems)
public WaveSimulation(SimSystems systems)
Parameters
systemsSimSystems
WaveSimulation(SimSystems, PickupRules)
Supplies a replacement for death rewards, attraction and wave settlement.
public WaveSimulation(SimSystems systems, PickupRules pickups)
Parameters
systemsSimSystemspickupsPickupRules
Fields
EffectStates
public readonly List<WaveEffectLease> EffectStates
Field Value
PlaytestInvulnerable
public bool PlaytestInvulnerable
Field Value
Properties
NextEffectCarryId
public long NextEffectCarryId { get; }
Property Value
World
public SimWorld World { get; }
Property Value
Methods
ApplyLoadout(WaveEffectLoadout, IReadOnlyList<WeaponDef>)
Rebuilds the catalog ledger from current lease values, preserving all transient tokens and weapon slots.
public void ApplyLoadout(WaveEffectLoadout loadout, IReadOnlyList<WeaponDef> weapons)
Parameters
loadoutWaveEffectLoadoutweaponsIReadOnlyList<WeaponDef>
ApplyUpgrade(IReadOnlyList<Effect>, IReadOnlyList<WeaponDef>, bool)
Applies field-mode rewards without advancing time. When replaceEffects is true, effects replace the previous loadout in canonical inventory order (including changed set bonuses). A null weapon list keeps the current weapons. Unchanged slots retain their full state.
public void ApplyUpgrade(IReadOnlyList<Effect> effects, IReadOnlyList<WeaponDef> weapons, bool replaceEffects = false)
Parameters
effectsIReadOnlyList<Effect>weaponsIReadOnlyList<WeaponDef>replaceEffectsbool
CaptureEffects()
Exports values only; callers can snapshot during field choices without advancing time.
public void CaptureEffects()
EndForPlaytest()
Uses normal survival settlement without taking another tick. Death takes precedence.
public bool EndForPlaytest()
Returns
RefreshTriggers(IReadOnlyList<TriggerDef>, IReadOnlyList<TriggerBinding>)
Updates trigger definitions and optional ownership bindings at an explicit loadout boundary.
public void RefreshTriggers(IReadOnlyList<TriggerDef> triggers, IReadOnlyList<TriggerBinding> bindings = null)
Parameters
triggersIReadOnlyList<TriggerDef>bindingsIReadOnlyList<TriggerBinding>
Start(WaveRequest)
Starts a fresh world from request settings, optional carried triggers and effect leases.
public void Start(WaveRequest request)
Parameters
requestWaveRequest
Start(WaveRequest, IReadOnlyList<TriggerCarryState>, IStatSource, EffectEvaluationSettings, IReadOnlyList<TriggerBinding>, WaveEffectLoadout)
Starts a fresh world from request settings, optional carried triggers and effect leases.
public void Start(WaveRequest request, IReadOnlyList<TriggerCarryState> carriedTriggers, IStatSource statSource = null, EffectEvaluationSettings evaluation = null, IReadOnlyList<TriggerBinding> bindings = null, WaveEffectLoadout loadout = null)
Parameters
requestWaveRequestcarriedTriggersIReadOnlyList<TriggerCarryState>statSourceIStatSourceevaluationEffectEvaluationSettingsbindingsIReadOnlyList<TriggerBinding>loadoutWaveEffectLoadout
Step(Vec2)
Advances exactly one fixed tick when the wave is running; terminal waves do not advance.
public void Step(Vec2 input)
Parameters
inputVec2
Step(IReadOnlyList<Vec2>)
Inputs follow Players order. Missing inputs are zero; surplus inputs are ignored.
public void Step(IReadOnlyList<Vec2> inputs)
Parameters
inputsIReadOnlyList<Vec2>