Skip to content

Class SignalCue

A signal condition played over a screen’s steady signal for a while: its level rises over the attack, falls over the decay to the sustain, holds there, and falls to nothing over the release, with a wobble from the modulation on top. The cue ends on its own after the release, or when DarkEffekt.Terminal.Unity.TerminalScreenBase.Stop(DarkEffekt.Terminal.Unity.SignalCue) is called, which starts the release at once. The steady signal underneath is never written.

Declaration
[Serializable]
public sealed class SignalCue

True while the cue plays, from Play until its release has ended.

Declaration
public bool IsPlaying { get; }
Declaration
[Tooltip("The condition the cue plays, at its full level.")]
public SignalCondition condition
Declaration
[Tooltip("How the cue combines with the signal under it.")]
public SignalBlend blend
Declaration
[Header("Envelope")]
[Tooltip("Seconds the level takes to rise to 1.")]
[Min(0)]
public float attack
Declaration
[Tooltip("Seconds the level then takes to fall to the sustain.")]
[Min(0)]
public float decay
Declaration
[Tooltip("The level the cue holds, from 0 to 1.")]
[Range(0, 1)]
public float sustain
Declaration
[Tooltip("Seconds the cue holds at the sustain. Infinity holds until the cue is stopped.")]
[Min(0)]
public float hold
Declaration
[Tooltip("Seconds the level takes to fall to nothing at the end.")]
[Min(0)]
public float release
Declaration
[Header("Modulation")]
public SignalModulation modulation

A cue of one condition, held for a number of seconds, with a short attack and release.

Declaration
public static SignalCue Hold(SignalCondition condition, float seconds, SignalBlend blend = SignalBlend.Max)

DarkEffekt.Terminal.Unity.SignalCue

Type Name
DarkEffekt.Terminal.Unity.SignalCondition condition
System.Single seconds
DarkEffekt.Terminal.Unity.SignalBlend blend

The level at a time since the cue started, from 0 to 1, or below 0 once the cue is over. releasedAt is when the release began, in seconds since the start, if it has.

Declaration
public float Level(double since, double? releasedAt)

System.Single

Type Name
System.Double since
System.Nullable<System.Double> releasedAt

Raised when the cue has ended, on the main thread.

Declaration
public event Action Ended

System.Action