using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using System;
public class DownloadManager : MonoBehaviour {
private static DownloadManager _instance;
public static DownloadManager Instacne
{
get
{
if (_instance == null)
{
_instance = FindObjectOfType(typeof(DownloadManager)) as DownloadManager;
}
return _instance;
}
}
public delegate void LoadCallBack(params object[] args);
public void LoadScene(string name, LoadCallBack callBack, params object[] args)
{
StartCoroutine(Load(name,callBack,args));
}
AsyncOperation async = null;
private IEnumerator Load(string name, LoadCallBack callBack, params object[] args)
{
async = SceneManager.LoadSceneAsync(name);
yield return async;
Resources.UnloadUnusedAssets();
GC.Collect();
if (callBack != null)
{
callBack(args);
}
async = null;
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}