ステージのシーンを Additive で読み込む
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
/// <summary>
/// ステージのシーンをAdditiveで読み込む
///
/// 読み込むシーンの指定は、あらかじめ作っておいたEnumで行う
/// https://gist.github.com/negitamago/79688071f55e0a0537e2deac00f3102c
/// </summary>
public class SceneLoader : MonoBehaviour
{
[SerializeField] bool useSceneIndex = true;
// 読み込むシーンを記憶する static フィールド
public static SceneNameEnum SCENE_INDEX = SceneNameEnum.Stage1;
// インスペクターから読み込むシーンを指定する
[SerializeField] SceneNameEnum loadSceneName = SceneNameEnum.Stage1;
private void Awake ()
{
// static フィールドに記憶された sceneIndex を使ってロードする
if ( useSceneIndex )
{
LoadScene ( SCENE_INDEX );
}
// インスペクターから指定されたシーンをロードする
else
{
LoadScene ( loadSceneName );
}
}
private void LoadScene ( SceneNameEnum loadScene )
{
if ( loadScene == SceneNameEnum.Manager )
{
Debug.Log ( "CANT LOAD SELF" );
}
else
{
SceneManager.LoadScene ( loadScene.ToString (), LoadSceneMode.Additive );
}
}
}