title: Unity, reload scene completely
body: <p>I have two scenes: Menu and Game where the maze is randomly generated every launch.  </p>
  
  <p>After the Player dies in the maze I load the scene Menu where the Player can press button Start which should generate a new maze but instead it just loads the old scene with maze where Player died earlier.  </p>
  
  <p>I want to generate the new maze every time after pressing Start button.<br>
  Also, when I play the scene with maze separately everything works correctly
  For scene loading I use:</p>
  
  <pre><code>SceneManager.LoadScene(sceneIndex);
  </code></pre>
  
  <p>with indexes defined in Build settings.  </p>
  
  <p>If any additional code is needed just ask me and I will add it.</p>
  
  <p>UPDATE<br>
  I have a class MazeGenerator where I have delegate and event:</p>
  
  <pre><code>public delegate void MazeReadyAction();
  public static event MazeReadyAction OnMazeReady;
  </code></pre>
  
  <p>Event triggers when the maze is generated and is used in MazeDirecives class to set the Enemies and Coins when the maze is ready.<br>
  So that I MazeDirectives have lines:</p>
  
  <pre><code>void Awake()
  {
      MazeGenerator.OnMazeReady += StartDirectives;    
  }
  
  void StartDirectives()
  {
     for (int i = 0; i &lt; mazeCoinPositions.Count; i++)
      {
          MazeCoin mazeCoin = Instantiate(mazeCoinPrefab, mazeCoinPositions[i], 
              Quaternion.identity) as MazeCoin;
              mazeCoin.transform.SetParent(transform);
      }
  }
  </code></pre>
  
  <p>Error:<br>
  <code>MissingReferenceException: The object of type 'MazeDirectives' has been destroyed but you are still trying to access it</code>   pups up on: </p>
  
  <pre><code>mazeCoin.transform.SetParent(transform);
  </code></pre>
  
  <p>Any suggestions?</p>