private void Update() { for (int i = 0; i < sceneLoaderList.Count; i++) { SceneLoader loader = sceneLoaderList[i]; bool loaded = loader.Update(); if (loaded) { SceneDefine.SCENE_ID id = loader.SceneID; UnityScene unityScene = UnitySceneManager.GetSceneByName(loader.Name); SceneBase scene = GameObject.Find(unityScene.name).GetComponent <SceneBase>(); sceneList.Add(scene); sceneLoaderList.RemoveAt(i); UnitySceneManager.SetActiveScene(unityScene); scene.Setup(id, unityScene); break; } } for (int i = 0; i < sceneList.Count; i++) { // アンロード処理 if (sceneList[i] == null) { sceneList.RemoveAt(i); break; } } }