Round Timer: Time.smoothDeltaTime stops the clock...

using UnityEngine;
using System.Collections;

public class EnemySpawn : MonoBehaviour {

	public float timeLeft = 300f;
	public float roundPause = 60f;
	int numEnemies = 100;

	public GameObject enemies;
	GameObject spawnEnemy;

	Vector3 pos;

	// Use this for initialization
	void Start () {

	}

	void newRound() {
		for(int i = 0; i < numEnemies; i++) {
			pos = new Vector3(Random.Range (-200, 200), 20, Random.Range (-200, 200));
			spawnEnemy = Instantiate(enemies, pos, Quaternion.identity)as GameObject;
				}
	}

	void OnGUI() {
		GUILayout.TextArea ("" + roundPause);
	}

	// Update is called once per frame
	void Update () {
		if (timeLeft >= 0) {
			timeLeft -= Time.smoothDeltaTime;
				}
		if (timeLeft <= 0) {
			timeLeft = 0f;
			roundPause = 60f;
				}

		if (roundPause >= 0) {
			roundPause -= Time.smoothDeltaTime;
				}

		if (roundPause <= 0) {
			newRound();
			roundPause = 0f;
			timeLeft = 300f;
				}

	}
}

How it works:

You have a 5 minute round, when the round begins, 100 enemies spawn in. after the 5 Minutes are up, you have a 1 minute intermission (Will probably drop to 30 seconds.) But when I’m lowering the time for the float roundPause, it stops at 59.9843 seconds.

Solved my Problem,

if(roundPause <= 0) {
  //it still senses as 0
}

if(timeLeft <= 0) {
 //it still senses as 0
}

I have to use > or <, instead of >= or <=