Class BeamData

Namespace
TDMaker.Unity.Authoring
Assembly
TDMaker.Unity.dll

A continuous single-target channel with an exact total damage budget split over pulses, baked into BeamDef. Use it as an ability action (useBeam). The view draws a pooled line for its whole duration.

public sealed class BeamData
Inheritance
BeamData
Inherited Members

Constructors

BeamData()

public BeamData()

Fields

cancelWithSource

Ends the beam when the source dies, is stunned or disarmed, or is ordered to move.

public bool cancelWithSource

Field Value

bool

color

Beam colour.

public Color color

Field Value

Color

damage

Damage channel, pierce, on-hit effects, impact payload and life steal. Minimum/maximum and radius are ignored (the budget is used).

public DamageData damage

Field Value

DamageData

firstDelay

Delay before the first pulse.

[Min(0)]
public float firstDelay

Field Value

float

id

Event key (also selects the beam colour and width in the view).

public string id

Field Value

string

interval

Seconds between pulses.

[Min(0.01)]
public float interval

Field Value

float

pulseCount

Number of pulses the budget is split into (earlier pulses take the remainder).

[Min(1)]
public int pulseCount

Field Value

int

range

Targeting range and tracking limit (the beam ends when the target leaves it).

[Min(0)]
public float range

Field Value

float

targets

Extra target eligibility, rechecked every pulse.

public MechanicTargetData targets

Field Value

MechanicTargetData

targetsFlying

Allows flying targets.

public bool targetsFlying

Field Value

bool

targetsGround

Allows ground targets.

public bool targetsGround

Field Value

bool

totalDamage

Total raw damage of one channel before defenses, scaled once by the source's damage multiplier.

[Min(1)]
public int totalDamage

Field Value

int

vfx

Optional pooled VFX spawned on the target at each pulse.

public GameObject vfx

Field Value

GameObject

width

Beam width in world units.

[Min(0.01)]
public float width

Field Value

float

Properties

Id

The resolved event key.

public string Id { get; }

Property Value

string

Methods

ToDef()

Bakes the channel definition.

public BeamDef ToDef()

Returns

BeamDef