public static void LoadSceneAsync(SceneEnumName sceneEnumName)
    {
        SceneNames container = Resources.Load <SceneNames>("ScriptObjects/Scenes/NamedScenes");
        string     scene     = container.GetSceneName(sceneEnumName);

        OnLoadSceneAsync?.Invoke(scene);
    }
    public static void LoadScene(SceneEnumName sceneEnumName)
    {
        SceneNames container = Resources.Load <SceneNames>("ScriptObjects/Scenes/NamedScenes");
        string     scene     = container.GetSceneName(sceneEnumName);

        SceneManager.LoadScene(scene);
    }
    public string GetSceneName(SceneEnumName sceneEnumName)
    {
        for (int i = 0; i < m_namedScenes.Length; i++)
        {
            NamedScene sceneContainer = m_namedScenes[i];
            if (sceneContainer.sceneEnumName == sceneEnumName)
            {
                return(sceneContainer.sceneName);
            }
        }

        Debug.LogWarning("Scene Does Not Exist In Container");
        return("null");
    }
    public static string GetSceneName(SceneEnumName sceneEnumName)
    {
        SceneNames container = Resources.Load <SceneNames>("ScriptObjects/Scenes/NamedScenes");

        return(container.GetSceneName(sceneEnumName));
    }