rabidus-test/Assets/Amazing Assets/Curved World/Example Scenes/Files/Scripts/CarSpawner.cs

61 lines
1.6 KiB
C#
Raw Normal View History

2023-10-02 19:12:35 +03:00
using UnityEngine;
namespace AmazingAssets.CurvedWorld.Example
{
public class CarSpawner : MonoBehaviour
{
public GameObject[] cars;
public float spawnRate = 1;
[Range(0f, 1f)]
public float spawnRandomizer = 0.5f;
[Space(10)]
public Vector3 positionRandomizer = new Vector3(0, 0, 0);
public Vector3 rotation = new Vector3(0, 90, 0);
[Space(10)]
public Vector3 moveDirection = new Vector3(1, 0, 0);
public Vector2 movingSpeed = new Vector2(3, 5);
float deltaTime;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
deltaTime += Time.deltaTime;
if(deltaTime > spawnRate)
{
deltaTime = 0;
if(Random.value > spawnRandomizer)
{
int index = Random.Range(0, cars.Length);
GameObject carObject = Instantiate(cars[index]);
carObject.SetActive(true);
carObject.transform.position = transform.position + Vector3.Scale(Random.insideUnitSphere, positionRandomizer);
carObject.transform.rotation = Quaternion.Euler(rotation);
RunnerCar carScipt = carObject.GetComponent<RunnerCar>();
carScipt.moveDirection = moveDirection;
carScipt.movingSpeed = Random.Range(movingSpeed.x, movingSpeed.y);
}
}
}
}
}