Class WeaponSystem

Namespace
SurvivorsMaker.Simulation
Assembly
SurvivorsMaker.Simulation.dll

Slot registration/dispatch and discrete friendly projectile collisions.

public sealed class WeaponSystem : IWeaponSystem, IWeaponLoadoutUpdater
Inheritance
WeaponSystem
Implements
Inherited Members

Constructors

WeaponSystem()

public WeaponSystem()

Methods

Begin(SimWorld, IReadOnlyList<WeaponDef>)

public void Begin(SimWorld world, IReadOnlyList<WeaponDef> weapons)

Parameters

world SimWorld
weapons IReadOnlyList<WeaponDef>

Tick(SimWorld)

Step 7 (weapons): targeting, firing, melee phases, cooldowns; in slot order.

public void Tick(SimWorld world)

Parameters

world SimWorld

TickProjectiles(SimWorld)

Step 8 (projectiles): friendly projectile movement and hits.

public void TickProjectiles(SimWorld world)

Parameters

world SimWorld

UpdateAnchors(SimWorld)

Step 4 (after player movement): anchor positions.

public void UpdateAnchors(SimWorld world)

Parameters

world SimWorld

UpdateLoadout(SimWorld, IReadOnlyList<WeaponDef>)

Field upgrades preserve complete states in the same slots. Explicit Begin still resets every slot.

public void UpdateLoadout(SimWorld world, IReadOnlyList<WeaponDef> weapons)

Parameters

world SimWorld
weapons IReadOnlyList<WeaponDef>

Validate(WeaponDef)

Authoring warnings; execution clamps invalid quantities without changing definitions.

public static List<string> Validate(WeaponDef def)

Parameters

def WeaponDef

Returns

List<string>