Class WaveAsset

Namespace
SurvivorsMaker.Data
Assembly
SurvivorsMaker.Data.dll

Inspector-authored wave data converted to a cached runtime definition.

[CreateAssetMenu(menuName = "Survivor Roguelite Maker/Content/Wave", fileName = "Wave")]
public sealed class WaveAsset : ContentDefinitionAsset<WaveDef>
Inheritance
Object
ScriptableObject
WaveAsset
Inherited Members
ScriptableObject.SetDirty()
ScriptableObject.CreateInstance<T>()
Object.GetEntityId()
Object.GetInstanceID()
Object.GetHashCode()
Object.InstantiateAsync<T>(T)
Object.InstantiateAsync<T>(T, Transform)
Object.InstantiateAsync<T>(T, Vector3, Quaternion)
Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
Object.Instantiate(Object, Vector3, Quaternion)
Object.Instantiate(Object, Vector3, Quaternion, Transform)
Object.Instantiate(Object)
Object.Instantiate(Object, Scene)
Object.Instantiate<T>(T, InstantiateParameters)
Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)
Object.Instantiate(Object, Transform)
Object.Instantiate<T>(T)
Object.Instantiate<T>(T, Vector3, Quaternion)
Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
Object.Instantiate<T>(T, Transform)
Object.Destroy(Object)
Object.DestroyImmediate(Object)
Object.DontDestroyOnLoad(Object)
Object.DestroyObject(Object)
Object.FindObjectsOfType<T>()
Object.FindObjectsByType<T>(FindObjectsSortMode)
Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
Object.FindObjectOfType<T>()
Object.FindFirstObjectByType<T>()
Object.FindAnyObjectByType<T>()
Object.FindFirstObjectByType<T>(FindObjectsInactive)
Object.FindAnyObjectByType<T>(FindObjectsInactive)
Object.ToString()
Object.name
Object.hideFlags

Constructors

WaveAsset()

public WaveAsset()

Fields

CompletionReward

Nonnegative currency granted on successful wave completion.

[Tooltip("Nonnegative currency granted on successful wave completion.")]
public int CompletionReward

Field Value

int

DurationSeconds

Positive wave duration in seconds, converted to simulation ticks.

[Tooltip("Positive wave duration in seconds, converted to simulation ticks.")]
public float DurationSeconds

Field Value

float

EndOnBossDeath

Finish after all expected bosses are spawned and defeated; duration remains a fallback.

[Tooltip("Finish after all expected bosses are spawned and defeated; duration remains a fallback.")]
public bool EndOnBossDeath

Field Value

bool

Groups

Wave-specific spawn groups, evaluated before arena common groups.

[Tooltip("Wave-specific spawn groups, evaluated before arena common groups.")]
public List<SpawnGroupEntry> Groups

Field Value

List<SpawnGroupEntry>

Hordes

One-shot horde events. Equal-time events keep authored order.

[Tooltip("One-shot horde events. Equal-time events keep authored order.")]
public List<HordeEventEntry> Hordes

Field Value

List<HordeEventEntry>

MaxAlive

Positive cap on hostile enemies, including pending hostile telegraphs.

[Tooltip("Positive cap on hostile enemies, including pending hostile telegraphs.")]
public int MaxAlive

Field Value

int

Methods

Populate(WaveDef)

Fills the already-cached definition shell; resolve asset references through their conversion caches.

protected override void Populate(WaveDef def)

Parameters

def WaveDef

ToWaveDef()

Returns the cached runtime definition for this asset revision; repeated references preserve object identity.

public WaveDef ToWaveDef()

Returns

WaveDef

Validate()

Returns authoring problems without repairing or changing serialized fields; an empty list means valid.

public override List<string> Validate()

Returns

List<string>