예제 #1
0
파일: Wizard.cs 프로젝트: VitDeck/VitDeck
        private IEnumerator Calculate()
        {
            var bakeCheck = GUIUtilities.BakeCheckAndRun();

            while (bakeCheck.MoveNext())
            {
                yield return(null);
            }

            if (!(bool)bakeCheck.Current)
            {
                yield break;
            }

            float?byteCount = null;

            AssetUtility.TemporaryDestroyObjectsOutsideOfRootObjectAndRunCallback(AssetUtility.GetId(this.baseFolder), () => {
                byteCount = Calculator.ForceRebuild();
            });

            if (byteCount == null)
            {
                EditorUtility.DisplayDialog("VitDeck", LocalizedMessage.Get("BuildSizeCalculator.BuildFailed"), "OK");
                yield break;
            }

            EditorUtility.DisplayDialog(
                "VitDeck",
                LocalizedMessage.Get("BuildSizeCalculator.BuildSize", AssetUtility.GetScenePath(this.baseFolder), (byteCount.Value / Math.Pow(2, 20)).ToString("0.00' MiB'")),
                "OK"
                );
        }
예제 #2
0
        private IEnumerator Calculate()
        {
            var bakeCheck = GUIUtilities.BakeCheckAndRun();

            while (bakeCheck.MoveNext())
            {
                yield return(null);
            }

            if (!(bool)bakeCheck.Current)
            {
                yield break;
            }

            var editorPlay = Calculator.EditorPlay(AssetUtility.GetId(this.baseFolder), this.spaceSize);

            while (editorPlay.MoveNext())
            {
                yield return(null);
            }
            if (editorPlay.Current == null)
            {
                yield break;
            }
            var(setPassCalls, batches) = ((int, int))editorPlay.Current;

            EditorUtility.DisplayDialog(
                "VitDeck",
                LocalizedMessage.Get("PerformanceCalculator0.Result", AssetUtility.GetScenePath(this.baseFolder), setPassCalls, batches),
                "OK"
                );
        }
예제 #3
0
파일: Wizard.cs 프로젝트: VitDeck/VitDeck
        private async void Calculate()
        {
            var bakeCheck = GUIUtilities.BakeCheckAndRun();

            while (bakeCheck.MoveNext())
            {
                await Task.Delay(TimeSpan.FromSeconds(0.05f));
            }

            if (!(bool)bakeCheck.Current)
            {
                return;
            }

            this.id = AssetUtility.GetId(this.baseFolder);
            this.calculatingReserved    = true;
            EditorApplication.isPlaying = true;
        }