コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】指定された名前のシーンを読み込むことができる場合 true を返す関数

ソースコード

using System.IO;
using System.Linq;
using UnityEngine.SceneManagement;

public static class Utils
{
    public static bool CanLoadScene( string sceneName )
    {
        return Enumerable
            .Range( 0, SceneManager.sceneCountInBuildSettings )
            .Select( c => SceneUtility.GetScenePathByBuildIndex( c ) )
            .Select( c => Path.GetFileNameWithoutExtension( c ) )
            .Any( c => c == sceneName )
        ;
    }
}

使い方

var sceneName = "TitleScene";
if ( Utils.CanLoadScene( sceneName ) )
{
    SceneManager.LoadScene( sceneName );
}