delay code without coroutines

Hi i need to delay a piece of my code without coroutines it is inside a function that is only called when you press mouse 1 and that mouse 1 call is also has a timer with it that makes it so you can only press it again after a set time once its been pressed.

this is pseudo code

update
{
   if firetime >= 0
   {
     if press mouse 0
     call fire funtion
     reset firetime 
   }
  
   if (fireTime > 0){
   fireTime -= Time.deltaTime;
   }
}

void fire
{
   play noise/animation
   //here i want to delay this by a time lets say 1 second
   raycast
}

There’s a few things you can try I guess, but if the code is messy this is not the solution (and starting the coroutine and delaying one second the operations would only take like 4~ lines:

IEnumerator DelayedOperations() {
yield return new WaitForSeconds(1);
--operations
}

If you don’t really want to use a coroutine you can get the current time using Time.time, saving it to a variable and inside the Update() function a second has passed then execute the code. I guess that should do the trick, but again, if it messy clean up your code and do it right.