Simple Spawner
Script Component to spawn PickUp Prefab gameObjects.
Objects to Spawn - PickUp Prefabs
PickUp Prefabs to be Spawned in the MiniGame should have the following configuration: See PickUp PreFabs
PickUp GameObjects should be a PreFab
A SpriteRenderer Component
At least 1 Collider2D component with IsTrigger set to true (can have additional nested Collider2D components if necessary)
A PickUp script component, with the public attributes like: value, type set in the inspector.
GameObject: Tag: "Collectible" or "Hazard"
Can have a Rigidbody2D if the spawned object will be moving
Can have an Animator component if the object will be animated
Important: The PickUp Prefabs must have Tag that corresponds to Tags in OnTriggerEnter2D( ).
Simple Spawner Logic
Logic Overview: Define variables that can be customized for each instance of a Spawner:
Specify PickUp prefabs to spawn ( good, bad )
Specify total number of prefabs to spawn (numToSpawn)
Specify probability of bad prefabs to spawn. (chanceToSpawnBad)
Constrain where objects will be spawned. (xRange, yRange)
Determine time between spawning objects (pauseTime)
Define boolean variable that can toggle: (stop, start) spawning
Spawner Methods, Helper Methods
Start Spawning:
SpawnPrefab( )
private method, executed in a loop in
StartSpawning( )
spawns 1 prefab instance - with some probability of it being good / bad type
will only spawn a prefab if
activeSpawning
is true;
StartSpawning ( )
public method to be executed in MiniGameManager
For testing, we'll start with calling this in
Start( )
- we'll remove this code laterhas a loop that invokes
SpawnPrefab( )
multiple times with delays
Stop Spawning:
DestroyAllSpawnedObjects( )
Creates Array of PickUps by Finding all items of type
< PickUp >
in the scene
StopAllSpawning( )
Cancels all Invoked
SpawnPrefab( )
methodsSets activeSpawning to false;
Executes DestroyAllSpawnedObjects( )
Important Spawner GameObject Configuration Details:
When initializing the Inspector Panel for Spawner Component: 1. Delete all PickUp Prefab gameObjects from the Scene 2. Select Original Prefab from Assets: GoodPrefab, BadPrefab (from the Assets tab) see image below
Spawner.cs
The code below creates a simple spawner.
Create a C# Script in your project Assets: Spawner.
Double-click the script so that it opens in Visual Studio.
Add the code from below to the script.
In Visual Studio, build to compile the script.
In Unity, Add the Spawner.cs component to an empty GameObject, Spawner in the scene.
Last updated