public bool IsAnyRequest(SceneLoadUnloadRequest.Reason reason = SceneLoadUnloadRequest.Reason.Any, SceneLoadUnloadRequest.OpType op_type = SceneLoadUnloadRequest.OpType.Any, string scene_name = "")
 {
     foreach (SceneLoadUnloadRequest sceneLoadUnloadRequest in this.m_SceneLoadUnloadRequests)
     {
         if ((reason == SceneLoadUnloadRequest.Reason.Any || sceneLoadUnloadRequest.m_Reason == reason) && (op_type == SceneLoadUnloadRequest.OpType.Any || sceneLoadUnloadRequest.m_OpType == op_type) && (scene_name.Length == 0 || sceneLoadUnloadRequest.m_SceneName == scene_name))
         {
             return(true);
         }
     }
     return(false);
 }
    public void UnloadScene(string scene_name, SceneLoadUnloadRequest.Reason reason)
    {
        SceneLoadUnloadRequest sceneLoadUnloadRequest = new SceneLoadUnloadRequest
        {
            m_SceneName = scene_name,
            m_OpType    = SceneLoadUnloadRequest.OpType.Unload,
            m_Reason    = reason
        };

        sceneLoadUnloadRequest.m_Result = SceneLoadUnloadRequest.UpdateResult.PreStart;
        SceneLoadUnloadRequestHolder.OnSceneUnload(SceneManager.GetSceneByName(sceneLoadUnloadRequest.m_SceneName), sceneLoadUnloadRequest);
        this.Add(sceneLoadUnloadRequest);
    }
 public void LoadScene(string scene_name, SceneLoadUnloadRequest.Reason reason)
 {
     if (SceneManager.GetSceneByName(scene_name).isLoaded)
     {
         Debug.LogWarning("Scene " + scene_name + " already loaded.");
         return;
     }
     this.Add(new SceneLoadUnloadRequest
     {
         m_SceneName = scene_name,
         m_OpType    = SceneLoadUnloadRequest.OpType.Load,
         m_Reason    = reason
     });
 }