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(); }
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--; } }
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(); }