LoadingSceneManager.cs 1.07 KB
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class LoadingSceneManager : MonoBehaviour
{
    public Slider slider;
    bool IsDone = false;
    float fTime = 0f;
    AsyncOperation async_operation;
 
    void Start()
    {
        StartCoroutine(StartLoad("House"));
    }
 
    void Update()
    {
        fTime += Time.deltaTime;
        slider.value = 0.5f*fTime;
 
        if (fTime >= 5)
        {
            async_operation.allowSceneActivation = true;
        }
    }
 
    public IEnumerator StartLoad(string strSceneName)
    {
        //async_operation = Application.LoadLevelAsync(strSceneName);
        async_operation = SceneManager.LoadSceneAsync(strSceneName);
        async_operation.allowSceneActivation = false;
 
        if (IsDone == false)
        {
            IsDone = true;
 
            while (async_operation.progress < 0.9f)
            {
                slider.value = async_operation.progress;
 
                yield return true;
            }
        }
    }
}