UnityのSceneManagerで、シーンが存在するか確認する
TOC
Unity 5.3 から追加された、Multi Scene Editingで、
シーンを追加する時、
同じシーンを何個も追加したくない!ってこと、ありますよね。
「SceneManager.Contains()」的なメソッドがあれば最高なのですが、
アクティブなシーンしか
取れなかったりとかするんですよねー(GetActiveScene 関数)。
そこで、次のようにしました。
しかし、Unity 5.3.1 くらいではOKだったのですが、
5.3.2にしたら非推奨になっちゃってw・・
1 | using UnityEngine.SceneManagement; |
Linqで、すべてのシーンの中から、指定された名前のシーンが 1 以上の場合は存在するとしました。
しかし、すべてのシーンを取得する、「GetAllScenes 関数」が非推奨になってしまいました。
1行で書けるのがよかったのでしたが、しょうがない。for文をつかって地道にやろう。
1 | using UnityEngine.SceneManagement; |
「using UnityEngine.SceneManagement」を追加するのを忘れずに。
これでハマったこともあります。
もっといい方法ないんですかねー・・。