Class LevelMusicData

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

Music of one level, played by TDMaker.Unity.View.MusicPlayer: a battle loop, an optional intense loop for late or boss waves, and victory / defeat stingers that stop or duck the loop. Empty clips fall back to the music player's defaults, so every field is optional.

public sealed class LevelMusicData
Inheritance
LevelMusicData
Inherited Members

Constructors

LevelMusicData()

public LevelMusicData()

Fields

battle

Loop played during the battle.

[Tooltip("Loop played during the battle (empty: the Music Player's default battle loop).")]
public AudioClip battle

Field Value

AudioClip

defeat

Stinger played on defeat.

[Tooltip("Stinger played on defeat (empty: the Music Player's default).")]
public AudioClip defeat

Field Value

AudioClip

intense

Loop crossfaded in on intense waves (see the rules below).

[Tooltip("Loop crossfaded in on intense waves (empty: the Music Player's default, or keep the battle loop).")]
public AudioClip intense

Field Value

AudioClip

intenseFromWave

One-based wave number from which the intense loop plays; 0 turns this rule off.

[Tooltip("One-based wave number from which the intense loop plays (0 = off).")]
[Min(0)]
public int intenseFromWave

Field Value

int

intenseOnBossWaves

Switches to the intense loop when a wave flagged Boss Wave starts.

[Tooltip("Switch to the intense loop when a wave flagged 'Boss Wave' (Wave Set) starts.")]
public bool intenseOnBossWaves

Field Value

bool

intenseOnLastWave

Switches to the intense loop when the last wave starts.

[Tooltip("Switch to the intense loop when the last wave starts.")]
public bool intenseOnLastWave

Field Value

bool

victory

Stinger played on victory.

[Tooltip("Stinger played on victory (empty: the Music Player's default).")]
public AudioClip victory

Field Value

AudioClip

volume

Volume of this level's music (before the Music and Master volumes).

[Range(0, 1)]
public float volume

Field Value

float

Methods

Clone()

A shallow copy (clips are shared).

public LevelMusicData Clone()

Returns

LevelMusicData

IsIntense(int, int, bool)

Whether the intense loop should play once wave waveNumber (one-based) has started.

public bool IsIntense(int waveNumber, int waveCount, bool bossWave)

Parameters

waveNumber int
waveCount int
bossWave bool

Returns

bool