예제 #1
0
        private void DrawPackOperation()
        {
            if (bundleBuildConfig == null)
            {
                bundleBuildConfig = AssetPackerUtil.ReadBuildData();
            }

            EditorGUILayout.BeginVertical(EditorStyles.helpBox, GUILayout.ExpandHeight(true), GUILayout.ExpandWidth(true));
            {
                EditorGUILayout.LabelField(Contents.BuildTitleContent, EGUIStyles.MiddleCenterLabel);
                EditorGUI.BeginChangeCheck();
                {
                    EGUI.BeginLabelWidth(120);
                    {
                        bundleBuildConfig.OutputDir          = EGUILayout.DrawDiskFolderSelection(Contents.BuildOutputDirStr, bundleBuildConfig.OutputDir);
                        bundleBuildConfig.CleanupBeforeBuild = EditorGUILayout.Toggle(Contents.BuildCleanup, bundleBuildConfig.CleanupBeforeBuild);
                        bundleBuildConfig.PathFormat         = (BundlePathFormatType)EditorGUILayout.EnumPopup(Contents.BuildPathFormatContent, bundleBuildConfig.PathFormat);
                        EditorGUILayout.Space();
                        bundleBuildConfig.IsForceRebuild = EditorGUILayout.Toggle(Contents.ForceRebuild, bundleBuildConfig.IsForceRebuild);
                        bundleBuildConfig.Target         = (ValidBuildTarget)EditorGUILayout.EnumPopup(Contents.BuildTargetContent, bundleBuildConfig.Target);
                        bundleBuildConfig.Compression    = (CompressOption)EditorGUILayout.EnumPopup(Contents.BuildCompressionContent, bundleBuildConfig.Compression);
                    }
                    EGUI.EndLableWidth();
                }
                if (EditorGUI.EndChangeCheck())
                {
                    AssetPackerUtil.WriteBuildData(bundleBuildConfig);
                }

                GUILayout.FlexibleSpace();

                EGUI.BeginGUIBackgroundColor(Color.red);
                {
                    if (GUILayout.Button(Contents.OperationAutoBuildContent, GUILayout.Height(80), GUILayout.ExpandWidth(true)))
                    {
                        EditorApplication.delayCall += () =>
                        {
                            AssetPackerUtil.BuildAssetBundles(packerData, bundleBuildConfig);
                        };
                    }
                }
                EGUI.EndGUIBackgroundColor();
            }
            EditorGUILayout.EndVertical();
        }
예제 #2
0
        protected override void OnDrawProperty(string label)
        {
            if (drawerObject == null)
            {
                drawerObject = new DrawerObject(Property.Value);
            }
            if (Property.IsArrayElement)
            {
                AvatarPartCreatorData partCreatorData = (AvatarPartCreatorData)Property.Value;
                EditorGUILayout.BeginHorizontal();
                {
                    EditorGUILayout.LabelField(label, UnityEngine.GUILayout.Width(25));
                    EditorGUILayout.BeginVertical();
                    {
                        drawerObject.OnGUILayout();
                    }
                    EditorGUILayout.EndVertical();
                }
                EditorGUILayout.EndHorizontal();

                EditorGUILayout.Space();

                EGUI.BeginGUIBackgroundColor(Color.cyan);
                {
                    if (GUILayout.Button("Create Part"))
                    {
                        CreatePartBtnClick?.Invoke(partCreatorData);
                    }
                    if (GUILayout.Button("Preview Part"))
                    {
                        PreviewPartBtnClick?.Invoke(partCreatorData);
                    }
                }
                EGUI.EndGUIBackgroundColor();
            }
            else
            {
                EditorGUILayout.LabelField(label);
                EditorGUI.indentLevel++;
                {
                    drawerObject.OnGUILayout();
                }
                EditorGUI.indentLevel--;
            }
        }
예제 #3
0
        private void DrawPackOperation()
        {
            if (bundleBuildConfig == null)
            {
                bundleBuildConfig = AssetPackerUtil.ReadBundleBuildConfig();
            }

            EditorGUILayout.BeginHorizontal(EditorStyles.helpBox);
            {
                EditorGUILayout.BeginVertical(EditorStyles.helpBox, GUILayout.ExpandHeight(true), GUILayout.ExpandWidth(true));
                {
                    EditorGUILayout.LabelField(Contents.BuildTitleContent, EGUIStyles.MiddleCenterLabel);

                    EditorGUI.BeginChangeCheck();
                    {
                        bundleBuildConfig.bundleOutputDir    = EGUILayout.DrawDiskFolderSelection(Contents.BuildOutputDirStr, bundleBuildConfig.bundleOutputDir);
                        bundleBuildConfig.pathFormat         = (BundlePathFormatType)EditorGUILayout.EnumPopup(Contents.BuildPathFormatContent, bundleBuildConfig.pathFormat);
                        bundleBuildConfig.cleanupBeforeBuild = EditorGUILayout.Toggle(Contents.BuildCleanup, bundleBuildConfig.cleanupBeforeBuild);
                        bundleBuildConfig.buildTarget        = (ValidBuildTarget)EditorGUILayout.EnumPopup(Contents.BuildTargetContent, bundleBuildConfig.buildTarget);
                        bundleBuildConfig.compression        = (CompressOption)EditorGUILayout.EnumPopup(Contents.BuildCompressionContent, bundleBuildConfig.compression);
                    }
                    if (EditorGUI.EndChangeCheck())
                    {
                        AssetPackerUtil.WriteBundleBuildConfig(bundleBuildConfig);
                    }
                }
                EditorGUILayout.EndVertical();

                EditorGUILayout.BeginVertical(EditorStyles.helpBox, GUILayout.Width(160), GUILayout.ExpandHeight(true));
                {
                    EditorGUILayout.LabelField(Contents.OperationTitleContent, EGUIStyles.MiddleCenterLabel);

                    if (GUILayout.Button(Contents.OperationBuildAddressContent))
                    {
                        AssetAddressUtil.BuildAssetAddressConfig();
                    }
                    EditorGUILayout.Space();
                    if (GUILayout.Button(Contents.OperationCleanBundleNameContent))
                    {
                        AssetPackerUtil.ClearBundleNames(true);
                    }
                    if (GUILayout.Button(Contents.OperationSetBundleNameContent))
                    {
                        AssetPackerUtil.SetAssetBundleNames(assetPackerConfig, bundleBuildConfig.pathFormat, true);
                    }
                    EditorGUILayout.Space();
                    if (GUILayout.Button("Pack Bundle"))
                    {
                        AssetPackerUtil.PackAssetBundle(assetPackerConfig, bundleBuildConfig);
                    }
                }
                EditorGUILayout.EndVertical();

                EditorGUILayout.BeginVertical(EditorStyles.helpBox, GUILayout.Width(160));
                {
                    EGUI.BeginGUIBackgroundColor(Color.red);
                    {
                        if (GUILayout.Button(Contents.OperationAutoBuildContent, GUILayout.ExpandHeight(true), GUILayout.ExpandWidth(true)))
                        {
                            EditorApplication.delayCall += () =>
                            {
                                AssetAddressUtil.BuildAssetAddressConfig();

                                AssetPackerUtil.ClearBundleNames(true);
                                AssetPackerUtil.SetAssetBundleNames(assetPackerConfig, bundleBuildConfig.pathFormat, true);
                                AssetPackerUtil.PackAssetBundle(assetPackerConfig, bundleBuildConfig);
                            };
                        }
                    }
                    EGUI.EndGUIBackgroundColor();
                }
                EditorGUILayout.EndVertical();
            }
            EditorGUILayout.EndHorizontal();
        }