Cloned from the Team project repo
This commit is contained in:
73
Assets/Assets_And_Scenes/Scripts/Debugging/DebugSpawning.cs
Normal file
73
Assets/Assets_And_Scenes/Scripts/Debugging/DebugSpawning.cs
Normal file
@ -0,0 +1,73 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class DebugSpawning : ObjectSpawning
|
||||
{
|
||||
public GameObject[] debugPrefabs;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_spawnedObject = null;
|
||||
_numberToSpawn = 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reduce the spawned counter for this spawner
|
||||
/// </summary>
|
||||
public override void ReduceSpawnedCount()
|
||||
{
|
||||
objectCount = Mathf.Clamp(objectCount - 1, 0, _numberToSpawn);
|
||||
base.ReduceSpawnedCount();
|
||||
}
|
||||
|
||||
public void DoADebugSpawn(int prefabIndex, bool randomSpawnLoc)
|
||||
{
|
||||
float xPos = Random.Range(-xSpawnRange, xSpawnRange);
|
||||
float yPos = Random.Range(-ySpawnRange, ySpawnRange);
|
||||
float zPos = Random.Range(-zSpawnRange, zSpawnRange);
|
||||
|
||||
Vector3 spawnLoc = Vector3.zero;
|
||||
float spawnHeight = 0.0f;
|
||||
// If debug is checked then try to spawn the object above the player, this is to test collisions
|
||||
if (!randomSpawnLoc)
|
||||
{
|
||||
GameObject currentPlayer = GameObject.Find("Player");
|
||||
if (currentPlayer != null)
|
||||
{
|
||||
PlayerHoverMovement playerHover = currentPlayer.GetComponent<PlayerHoverMovement>();
|
||||
if (playerHover != null)
|
||||
{
|
||||
spawnLoc = currentPlayer.transform.position + (currentPlayer.transform.forward * 10.0f);
|
||||
spawnHeight = playerHover.GetCurrentHeight() + 2.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
spawnLoc = new Vector3(xPos, yPos, zPos);
|
||||
spawnHeight = Random.Range(minSpawnHeight, maxSpawnHeight);
|
||||
}
|
||||
|
||||
GameObject newSpawn = Instantiate(debugPrefabs[prefabIndex]);
|
||||
// Set the start height of the gameObject from the blackhole
|
||||
HoverMovement newSpawnMovement = newSpawn.GetComponent<HoverMovement>();
|
||||
if (newSpawnMovement)
|
||||
{
|
||||
newSpawnMovement.startPositionVector = spawnLoc;
|
||||
newSpawnMovement.ForceHeightAdjust(spawnHeight);
|
||||
}
|
||||
newSpawn.SetActive(true);
|
||||
|
||||
objectCount++;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Spawn the gameObject assigned to this spawner
|
||||
/// </summary>
|
||||
protected override void DoASpawn()
|
||||
{
|
||||
|
||||
base.DoASpawn();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user