Пример #1
0
    public override void OnInspectorGUI()
    {
        if (report == null)
        {
            EditorGUILayout.HelpBox("No Build Report.", MessageType.Info);
            return;
        }

        EditorGUILayout.LabelField("Report Info");

        EditorGUILayout.LabelField("    Build Name : ", Application.productName);
        EditorGUILayout.LabelField("    Platform : ", report.summary.platform.ToString());
        EditorGUILayout.LabelField("    Total Time : ", FormatTime(report.summary.totalTime));
        EditorGUILayout.LabelField("    Total Size : ", FormatSize(report.summary.totalSize));
        EditorGUILayout.LabelField("    Build Result : ", report.summary.result.ToString());

        mode = (ReportDisplayMode)GUILayout.Toolbar((int)mode, ReportDisplayModeStrings);

        if (mode == ReportDisplayMode.SourceAssets)
        {
            sourceDispMode = (SourceAssetsDisplayMode)EditorGUILayout.EnumPopup("Sort by:", sourceDispMode);
        }

        scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition);
        switch (mode)
        {
        case ReportDisplayMode.BuildSteps:
            OnBuildStepGUI();
            break;

        case ReportDisplayMode.SourceAssets:
            OnAssetsGUI();
            break;

        case ReportDisplayMode.OutputFiles:
            OnOutputFilesGUI();
            break;

        case ReportDisplayMode.Stripping:
            OnStrippingGUI();
            break;

#if UNITY_2020_1_OR_NEWER
        case ReportDisplayMode.ScenesUsingAssets:
            OnScenesUsingAssetsGUI();
            break;
#endif
        }
        EditorGUILayout.EndScrollView();
    }
        /// <summary>
        /// Custom inspector implementation for UnityEditor.Build.Reporting.BuildReport objects
        /// </summary>
        public override void OnInspectorGUI()
        {
            if (report == null)
            {
                EditorGUILayout.HelpBox("No Build Report.", MessageType.Info);
                return;
            }

            EditorGUILayout.LabelField("Report Info");

            EditorGUILayout.LabelField("    Build Name: ", Application.productName);
            EditorGUILayout.LabelField("    Platform: ", report.summary.platform.ToString());
            EditorGUILayout.LabelField("    Total Time: ", FormatTime(report.summary.totalTime));
#if UNITY_2019_3_OR_NEWER
            EditorGUILayout.LabelField("    Total Size: ", FormatSize(mobileAppendix == null ? report.summary.totalSize : (ulong)mobileAppendix.BuildSize));
            EditorGUILayout.LabelField("    Build Result: ", report.summary.result.ToString());

            // Show Mobile appendix data below the build summary
            OnMobileAppendixGUI();
#else
            EditorGUILayout.LabelField("    Total Size: ", FormatSize(report.summary.totalSize));
            EditorGUILayout.LabelField("    Build Result: ", report.summary.result.ToString());
#endif


            mode = (ReportDisplayMode)GUILayout.Toolbar((int)mode, ReportDisplayModeStrings);

            if (mode == ReportDisplayMode.SourceAssets)
            {
                sourceDispMode = (SourceAssetsDisplayMode)EditorGUILayout.EnumPopup("Sort by:", sourceDispMode);
            }
#if UNITY_2019_3_OR_NEWER
            if (mode == ReportDisplayMode.OutputFiles && mobileAppendix != null)
            {
                GUILayout.BeginHorizontal();
                GUILayout.Label(new GUIContent("File"), GUILayout.MaxWidth(EditorGUIUtility.currentViewWidth - 260));
                GUILayout.Label("Uncompressed size", SizeStyle);
                GUILayout.Label("Compressed size", SizeStyle);
                GUILayout.EndHorizontal();
            }
#endif
            scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition);
            switch (mode)
            {
            case ReportDisplayMode.BuildSteps:
                OnBuildStepGUI();
                break;

            case ReportDisplayMode.SourceAssets:
#if UNITY_2019_3_OR_NEWER
                OnAssetsGUI();
#else
                OnOldAssetsGUI();
#endif
                break;

            case ReportDisplayMode.OutputFiles:
#if UNITY_2019_3_OR_NEWER
                if (mobileAppendix == null)
                {
                    OnOutputFilesGUI();
                }
                else
                {
                    OnMobileOutputFilesGUI();
                }
#else
                OnOutputFilesGUI();
#endif
                break;

            case ReportDisplayMode.Stripping:
                OnStrippingGUI();
                break;

    #if UNITY_2020_1_OR_NEWER
            case ReportDisplayMode.ScenesUsingAssets:
                OnScenesUsingAssetsGUI();
                break;
    #endif
            default:
                throw new ArgumentOutOfRangeException();
            }
            EditorGUILayout.EndScrollView();
        }