· Has a delay activation time
· Can be activated and stopped by triggers or events on the level.
· Has 3 different intensitis (low intensity, hard intensity and spike intensity)
· Spawn distinct predefined enemy waves with different kind of enemies infinitely
· The waves can be predefined for each intensity (Low intensity wave 1, Low intensity wave 2, low intensity wave 3, Mid intensity wave 1, Mid intensity wave 2, then loop)
· There will be a certain different delay between each waves.
· They will have an activation point that will cause effects
Destroy an array of static mesh on the level (this will affect to the navigation)
Change the activation point to notify that it is activated
Start the spike intensity
IMPLEMENTATION The spawner implementation is located in the EnemySpawnComponent_Burrow.
The component must be added to an actor. Once added, in the Waves section of the details panel, a variable called enemyWaves can be found. There, it is possible to add enemyWaves to the spawner. Inside each wave, the variable Enemies can be found. Here is where the enemies that form each wave are selected. Underneath Enemies, there are the varibles startDelay and timeBetween enemies. The first sets how long does the wave take to start. The second sets how often the enemies spawn.
Above the Waves section, there is a section called Spawn Info. There are 4 float variables (Min X, Max X, Min Y, Max Y). These variable define the distance on the x and y axis around the spawner location where the enemies will spawn. The enemies will spawn in a random location inside the defined range.
The is Infinite bool will always be true no matter how it is marked on the details panel.
The SpikeWave section of the details panel, works exactly the same way as the regular waves.
In order to start spawning the infinite waves, the event StartSpawning must be called in the event graph.
In order to stop spawning the infinite waves, the event StopSpawning must be called in the event graph.
In order to start spawning the Spike Intensity wave, the event SetSpikeWaveActive must be called, and its bool must be set to true.