Enemy spawn on death ((2D))

Hello everyone, I’m new to coding, trying to code a clicker game.
I can’t seem to find any tutorial and I’m not good enough at this so asking here.

What I’m trying to do is to make Enemy spawn after one’s been defeated, and later on make levels of it, pretty much like Tap Titans or such games. Could anyone help me with providing simple code or getting me through this?

My basic enemy script -

using UnityEngine;
using UnityEngine.UI;
 
 
public class EnemyHealth : MonoBehaviour {
 
    public int startingHealth = 100;                            // The amount of health the player starts the game with.
    public int currentHealth;                                   // The current health the player has.
    public Slider healthSlider;                                 // Reference to the UI's health bar.
    public int goldValue = 10;                 // The amount added to the player's score when the enemy dies.
    public static int gold;
 
 
    bool isDead;                                                // Whether the player is dead.
    bool damaged;                                               // True when the player gets damaged.
 
    void Awake()
    {
        // Set the initial health of the player.
        currentHealth = startingHealth;
 
    }
    public void TakeDamage(int amount)
    {
 
        // Reduce the current health by the damage amount.
        currentHealth -= amount;
 
        // Set the health bar's value to the current health.
        healthSlider.value = currentHealth;
    }
    // Update is called once per frame
    void Update()
    {
 
 
        if (currentHealth <= (0))
 
        {
            // Increase the score by the enemy's score value.
            GoldManager.gold += goldValue;
            Destroy(gameObject);
        }
 
    }
 
 
 
 
    }

spawner script -

using UnityEngine;
 
public class Spawner : MonoBehaviour
{
    public EnemyHealth enemyHealth;       // Reference to the player's heatlh.
    public GameObject enemy;                // The enemy prefab to be spawned.
    public float spawnTime = 0;            // How long between each spawn.
    public Transform[] spawnPoints;         // An array of the spawn points this enemy can spawn from.
 
 
    void Start()
    {
        // Call the Spawn function after a delay of the spawnTime and then continue to call after the same amount of time.
        InvokeRepeating("Spawn", spawnTime, spawnTime);
    }
 
 
    void Spawn()
    {
        // If the player has no health left...
        if (enemyHealth.currentHealth <= 0f)
        {
            // ... exit the function.
            return;
        }
 
        // Find a random index between zero and one less than the number of spawn points.
        int spawnPointIndex = Random.Range(0, spawnPoints.Length);
 
        // Create an instance of the enemy prefab at the randomly selected spawn point's position and rotation.
        Instantiate(enemy, spawnPoints[spawnPointIndex].position, spawnPoints[spawnPointIndex].rotation);
    }
}

Well, you can call a method that will spawn an enemy before the enemy gets destroyed.

if (currentHealth <= (0))
{
    // Increase the score by the enemy's score value.
    GoldManager.gold += goldValue;
    EnemySpawner.SpawnEnemy();
    Destroy(gameObject);
}

Also, instead of having this is in void Update(), put this at the end of TakeDamage(), there’s no need to check this every frame, unless the variable was being directly modified.