title: How can I wait for 3 seconds and then set a bool to true, in C#?
body: <p>My script/game/thing make a gameobject move to the right and when I click dance (a button I created) it stops. Then when the counter (I may not need a counter but I want to wait 3 seconds) reaches like 3 (once you click on dance the counter starts) my gameobject is suppose to continue on going to the right.</p>
  
  <p>If you can correct the code that would be cool.
  If you can correct it and explain to me what i did wrong it would be even more awesome. I just started learning C# on Unity. </p>
  
  <pre><code>using System;
  using UnityEngine;
  using System.Collections;
  
  public class HeroMouvement : MonoBehaviour
  {
      public bool trigger = true;
      public int counter = 0;
      public bool timer = false;
  
      // Use this for initialization
  
      void Start()
      {
      }
  
      // Update is called once per frame
  
      void Update()
      {  //timer becomes true so i can inc the counter
  
          if (timer == true)
          {
              counter++;
          }
  
          if (counter &gt;= 3)
          {
              MoveHero();//goes to the function moveHero
          }
  
          if (trigger == true)
              transform.Translate(Vector3.right * Time.deltaTime); //This moves the GameObject to the right
      }
  
      //The button you click to dance 
      void OnGUI()
      {
          if (GUI.Button(new Rect(10, 10, 50, 50), "Dance"))
          {
              trigger = false;
              timer = true;//now that the timer is set a true once you click it,The uptade should see that its true and start the counter then the counter once it reaches 3 it goes to the MoveHero function      
          }
      }
  
      void MoveHero()
      {  //Set the trigger at true so the gameobject can move to the right,the timer is at false and then the counter is reseted at 0.
          trigger = true;
          timer = false;
          counter = 0;
      }
  }
  </code></pre>