using System; using UnityEngine; public class Spawner : MonoBehaviour { [SerializeField] private GameObject _spawnTemplate = null; [SerializeField] private int _spawnCount = 1; [SerializeField] private float _spawnInterval = 1.0f; private float _nextSpawnTime = 0.0f; // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { _nextSpawnTime = Time.time + _spawnInterval; } private void Update() { if (Time.time >= _nextSpawnTime) { for (int i = 0; i < _spawnCount; i++) { Spawn(); } _nextSpawnTime = Time.time + _spawnInterval; } } public GameObject Spawn() { if (_spawnTemplate == null) { Debug.LogError("Spawn template is not assigned in the Spawner component."); return null; } GameObject spawnedObject = Instantiate(_spawnTemplate, transform.position, transform.rotation); spawnedObject.transform.SetParent(transform); // Optional: Set parent to keep hierarchy organized return spawnedObject; } }