/// <summary>
 /// Removes the instance of the game event manager if the instance being destroyed is the the same as the singleton.
 /// </summary>
 /// <param name="aInstance"></param>
 private static void DestroyInstance(GameEventManager aInstance)
 {
     if(s_Instance == aInstance)
     {
         s_Instance = null;
     }
 }
 /// <summary>
 /// Sets the instance of the game event manager to the instance given.
 /// </summary>
 /// <param name="aInstance">The instance to make singleton</param>
 /// <returns></returns>
 private static bool SetInstance(GameEventManager aInstance)
 {
     if (s_Instance != null && s_Instance != aInstance)
     {
         return false;
     }
     s_Instance = aInstance;
     return true;
 }
 /// <summary>
 /// Creates an instance of the GameEventManager if it was missing.
 /// </summary>
 private static void CreateInstance()
 {
     if (Game.isClosing)
     {
         return;
     }
     GameObject persistant = GameObject.Find(Game.PERSISTANT_GAME_OBJECT_NAME);
     if(persistant == null)
     {
         persistant = new GameObject(Game.PERSISTANT_GAME_OBJECT_NAME);
         persistant.transform.position = Vector3.zero;
         persistant.transform.rotation = Quaternion.identity;
     }
     s_Instance = persistant.GetComponent<GameEventManager>();
     if(s_Instance == null)
     {
         s_Instance = persistant.AddComponent<GameEventManager>();
     }
 }