コード例 #1
0
 public AssetBundleLoadLevelOperation(string assetBundleName, string levelName, bool isAdditive, ref ILoadingProgress loadingProgress)
 {
     this.assetBundleName = assetBundleName;
     this.levelName       = levelName;
     this.isAdditive      = isAdditive;
     this.loadingProgress = loadingProgress;
 }
コード例 #2
0
 protected override async Task PrepareAsync(IUrhoScheduler scheduler, ILoadingProgress progress)
 {
     for (var i = 0; i < 10; ++i)
     {
         //progress.ReportProgress(i,40,"Loading menu");
         await Task.Delay(TimeSpan.FromSeconds(0.1));
     }
 }
コード例 #3
0
        protected override async Task PrepareAsync(IUrhoScheduler scheduler, ILoadingProgress progress)
        {
            var max = 10;

            for (var i = 0; i < max; ++i)
            {
                progress.ReportProgress(i, max, "Loading game");
                await Task.Delay(TimeSpan.FromSeconds(0.1));
            }
        }
コード例 #4
0
        protected override Task PrepareAsync(IUrhoScheduler scheduler, ILoadingProgress progress)
        {
            _scheduler = scheduler;

            _animatedNode = Scene.CreateChild("WaitAnimation");
            var geometry = EmplyLoadingScenePage.MakeLoadingModel(0.5f);

            _animatedNode.AddComponent(geometry);
            _animatedNode.Position = Vector3.Forward * 2;
            Camera.Node.LookAt(_animatedNode.Position, Vector3.Up);

            return(base.PrepareAsync(scheduler, progress));
        }
コード例 #5
0
 protected override async Task PrepareAsync(IUrhoScheduler scheduler, ILoadingProgress progress)
 {
     await scheduler.RunAsync(
         () =>
     {
         if (_isPrefab)
         {
             LoadPrefab();
         }
         else
         {
             LoadScene();
         }
         NextInputSubscriber = new FreeCameraController(CameraNode);
     });
 }
コード例 #6
0
    public static AssetBundleLoadOperation LoadLevelAsync(string assetBundleName, string levelName, bool isAdditive, ILoadingProgress loadingProgress = null)
    {
        LoadAssetBundle(assetBundleName, 0);
        AssetBundleLoadOperation operation = new AssetBundleLoadLevelOperation(assetBundleName, levelName, isAdditive, ref loadingProgress);

        inProgressOperationList.Add(operation);
        return(operation);
    }
コード例 #7
0
    public IEnumerator ChangeSceneAsyncByAssetBundle(string assetbundleName, string sceneName, ILoadingProgress loadingBar, bool forceLoad = true)
    {
        LoggerManager.Instance.Warn("-----sync load " + assetbundleName);
        selfLoadingProgress = 0f;
        sceneName           = GetSceneName(sceneName);

        // Previous action maybe stop, Wait for previous loading finished
        while (Application.isLoadingLevel)
        {
            LoggerManager.Instance.Warn("Waiting for previous loading finished");
            yield return(null);
        }

        if (CheckSceneChanging(sceneName, forceLoad) == false)
        {
            yield break;
        }

        // Notice listener scene will change
        for (int i = 0; i < sceneManagerListeners.Count; ++i)
        {
            sceneManagerListeners[i].OnSceneWillChange(this, CurrentSceneName, sceneName);
        }

        yield return(null);

        yield return(null);

        yield return(StartCoroutine(AssetBundleManager.LoadLevelAsync(assetbundleName, sceneName, false, loadingBar)));

        string oldSceneName = CurrentSceneName;

        OnChangeSceneCompleted(oldSceneName);

        AssetBundleManager.UnloadAssetBundle(assetbundleName);

        yield return(null);

        yield return(null);
    }
コード例 #8
0
 protected override async Task PrepareAsync(IUrhoScheduler scheduler, ILoadingProgress progress)
 {
     await scheduler.RunAsync(
         () => { ResourceCache.BackgroundLoadResource(Urho.Model.TypeStatic, _modelName, true); });
 }
コード例 #9
0
ファイル: TaskLoaderView.cs プロジェクト: trylock/viewer
 public void Report(ILoadingProgress value)
 {
     Message = value.Message;
     Interlocked.Increment(ref FinishedCount);
 }
コード例 #10
0
 public Task LoadPageAsync(IUrhoScheduler scheduler, ILoadingProgress progress)
 {
     _scheduler = scheduler;
     State      = ScenePageState.Preparing;
     return(_prepareTask ?? (_prepareTask = PrepareAsync(scheduler, progress)));
 }
コード例 #11
0
 protected virtual Task PrepareAsync(IUrhoScheduler scheduler, ILoadingProgress progress)
 {
     return(Task.CompletedTask);
 }