Class UnityWaveServiceSpawnTests
PlayMode tests for what UnityWaveService spawns: each entry spawns the registered character it names — by Id, or in the editor by its actor prefab — through the real character pool, at the entry's authored cadence; and an entry that cannot spawn forfeits its actors so its wave still clears.
Inherited Members
Namespace: Serenity.UnityWave.Tests.Infrastructure
Assembly: Tests.dll
Syntax
public class UnityWaveServiceSpawnTests
Constructors
UnityWaveServiceSpawnTests()
Declaration
public UnityWaveServiceSpawnTests()
Methods
AuthoredEntry_WhoseActorIsEmpty_ReportsNoActorAtAll()
Declaration
public void AuthoredEntry_WhoseActorIsEmpty_ReportsNoActorAtAll()
SetUp()
Declaration
public void SetUp()
StartNextWave_AsABuildPlays_EntryNamingNoCharacterWarnsAndSpawnsNothing()
Declaration
public void StartNextWave_AsABuildPlays_EntryNamingNoCharacterWarnsAndSpawnsNothing()
StartNextWave_AsksForEachActorUnderTheKeyItsResolverNamed_NeverAMadeUpOne()
Declaration
public void StartNextWave_AsksForEachActorUnderTheKeyItsResolverNamed_NeverAMadeUpOne()
StartNextWave_AuthoredEntryWhoseActorIsEmpty_WarnsItNamesNothingAndTheWaveStillClears()
An actor field left empty on a wave config asset is not a C# null in the editor: Unity hands back an object that only compares equal to null through its own operator. Read as a plain object it looked like an actor, and naming it threw inside the spawn coroutine, so the wave never ended.
Declaration
public void StartNextWave_AuthoredEntryWhoseActorIsEmpty_WarnsItNamesNothingAndTheWaveStillClears()
StartNextWave_BurstCadence_SpawnsEveryActorOfTheEntryAtOnce()
Declaration
public void StartNextWave_BurstCadence_SpawnsEveryActorOfTheEntryAtOnce()
StartNextWave_EntryNamingACharacterNobodyRegistered_WarnsNamingThatCharacterAndSpawnsNothing()
Declaration
public void StartNextWave_EntryNamingACharacterNobodyRegistered_WarnsNamingThatCharacterAndSpawnsNothing()
StartNextWave_EntryNamingACharacterWhosePrefabHasNoView_ForfeitsItsActorsAndTheWaveStillClears()
A character whose prefab has no Character View cannot be shown; the pool refuses it, and the entry forfeits the actors it could not spawn instead of the wave waiting for them forever.
Declaration
public void StartNextWave_EntryNamingACharacterWhosePrefabHasNoView_ForfeitsItsActorsAndTheWaveStillClears()
StartNextWave_EntryNamingARegisteredCharacterById_SpawnsItEvenFromAnotherInstanceOfItsPrefab()
Declaration
public void StartNextWave_EntryNamingARegisteredCharacterById_SpawnsItEvenFromAnotherInstanceOfItsPrefab()
StartNextWave_EntryNamingARegisteredCharactersPrefab_SpawnsThatCharacter()
Declaration
public void StartNextWave_EntryNamingARegisteredCharactersPrefab_SpawnsThatCharacter()
StartNextWave_EntryWhoseActorIsNotARegisteredCharacter_WarnsNamingTheEntryAndSpawnsNothing()
Declaration
public void StartNextWave_EntryWhoseActorIsNotARegisteredCharacter_WarnsNamingTheEntryAndSpawnsNothing()
StartNextWave_EntryWhoseActorWasDestroyed_WarnsItNamesNothingAndTheWaveStillClears()
Declaration
public void StartNextWave_EntryWhoseActorWasDestroyed_WarnsItNamesNothingAndTheWaveStillClears()
StartNextWave_EntryWithACadence_SpawnsOneActorPerCadenceInterval()
Declaration
public IEnumerator StartNextWave_EntryWithACadence_SpawnsOneActorPerCadenceInterval()
Returns
| Type | Description |
|---|---|
| IEnumerator |
StartNextWave_WaveWhoseOnlyEntryCannotSpawn_ClearsAtOnceWithTheEntrysOneWarningNamingTheWave()
Declaration
public void StartNextWave_WaveWhoseOnlyEntryCannotSpawn_ClearsAtOnceWithTheEntrysOneWarningNamingTheWave()
TearDown()
Declaration
public void TearDown()