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
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
firstDelay
Delay before the first pulse.
[Min(0)]
public float firstDelay
Field Value
id
Event key (also selects the beam colour and width in the view).
public string id
Field Value
interval
Seconds between pulses.
[Min(0.01)]
public float interval
Field Value
pulseCount
Number of pulses the budget is split into (earlier pulses take the remainder).
[Min(1)]
public int pulseCount
Field Value
range
Targeting range and tracking limit (the beam ends when the target leaves it).
[Min(0)]
public float range
Field Value
targets
Extra target eligibility, rechecked every pulse.
public MechanicTargetData targets
Field Value
targetsFlying
Allows flying targets.
public bool targetsFlying
Field Value
targetsGround
Allows ground targets.
public bool targetsGround
Field Value
totalDamage
Total raw damage of one channel before defenses, scaled once by the source's damage multiplier.
[Min(1)]
public int totalDamage
Field Value
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
Properties
Id
The resolved event key.
public string Id { get; }
Property Value
Methods
ToDef()
Bakes the channel definition.
public BeamDef ToDef()