Adding a counter to a custom made OnTriggerEnter Script

Hi all,
I have a custom made OnTrigger Script that also includes AudioSource and a delay routine so the sound plays then the object disappears. It had to be done this way because the trigger reacts quicker than the sound and no matter what was tried it would not play the sound without the delay. Now I need a counter, but when I try to insert some count object code similar to Unitys "Roll the Ball counter, (I only need something really simple) it either wont play the sounds or will not count or my Player disappears or the objects (collectibles) remain? been at this over a week now and at a loss as to what to do next. Ideally I would like a separate counter script that calls or refers to the Trigger Script to count. I tried the Roll the Ball counter Script removing the Player movement part, but the Trigger setup in that script (because of the delay in the custom script) meant that it would activate first before the sounds and not play them.
I have attached my custom made script
Using Unity 2019.4.
Thanks in Advance

using System.Collections;
using System.Diagnostics;
//using UnityEditor.Experimental.GraphView;
using UnityEngine;

public class BoxCollision : MonoBehaviour
{
    // public float delayTime;                                     // How long to wait eg. length of sound clip.
 

 
    private bool deleteIt = false;                               // flag to delete the object

    AudioSource audioSource;                                    // Audio stuff.

    void Start()
    {
        audioSource = GetComponent<AudioSource>();              // get the audio
    }

    void Update()
    {
        if(deleteIt == true)                                     // do we want to delete the object?
        {
            if (audioSource.isPlaying == false)                 // is the audio still playing?
            {
                gameObject.SetActive(false);                    // deactivate the object
            }
        }
    }

    private void OnTriggerEnter(Collider other)                 // Help ive been hit!
    {
            if (audioSource.isPlaying == false)
            audioSource.Play();                                     // Play the audio.
            deleteIt = true;                                         // we want to deactivate the object now
     
        //StartCoroutine(ExecuteAfterTime(delayTime));            // wait for the time delay before doing something.
    }
 
    /*
        IEnumerator ExecuteAfterTime(float time)                    // use format #.#f.  eg  1.1f waits 1100 milli-seconds
        {
            yield return new WaitForSeconds(time);                  // the actual pause

            gameObject.SetActive(false);                            // delayed code to execute
        }*/
}

Post your script here, using code tags, please.