- Home /
 
Problems with Spawner and timer.
Hi, So i have my main menu where is Start button.. I want to activate timeToSpaComet timer (timeToSpawnComet) after i click the button. Cause when its not activated: When i click Start button it spawns imidietly cause Time.time >= timeToSpaComet && GameStarted == true ARE TRUE from the beggining if im w8ing in the menu some time. Does anyone have some ideas?
   if(Time.time >= timeToSpaComet && GameStarted == true)
             {
                 SpawnObjectC();
                 
                 timeToSpaComet = Time.time + timeBetweenWavComet;
             }
 
              
               Comment
              
 
               
               
               Best Answer 
              
 
              Answer by Deathdefy · Feb 12, 2018 at 08:25 PM
This should give you what you need.
     //spawn every x seconds, in this case 3 seconds
     private float spawnTimer = 3.0f;
     //increments every frame by the difference in time from this frame to the previous
     private float timeElaspedSinceLastComet = 0.0f;
 
     private bool GameStarted = true;
 
     private void Update()
     {
 
         timeElaspedSinceLastComet += Time.deltaTime;
         if (timeElaspedSinceLastComet >= spawnTimer && GameStarted)
         {
             SpawnObject();
 
             timeElaspedSinceLastComet = 0;
 
         }
     }
 
     private void SpawnObject()
     {
         Debug.Log("Object spawned");
     }
 
              thx but it was better with:
 if(GameStarted == true)
 
          timeElaspedSinceLastComet += Time.deltaTime;
          if (timeElaspedSinceLastComet >= spawnTimer)
          {
              SpawnObject();
  
              timeElaspedSinceLastComet = 0;
          }
                 Your answer