private void DoInspectorBundlizerGUI(NodeGUI node) { if (node.bundleNameTemplate == null) { return; } EditorGUILayout.HelpBox("Bundlizer: Create asset bundle settings with given group of assets.", MessageType.Info); UpdateNodeName(node); GUILayout.Space(10f); node.currentPlatform = UpdateCurrentPlatform(node.currentPlatform); using (new EditorGUILayout.VerticalScope(GUI.skin.box)) { var bundleNameTemplate = EditorGUILayout.TextField( "Bundle Name Template", SystemDataUtility.GetPlatformValue( node.bundleNameTemplate.ReadonlyDict(), node.currentPlatform ).ToString() ).ToLower(); IntegratedGUIBundlizer.ValidateBundleNameTemplate( bundleNameTemplate, () => { // EditorGUILayout.HelpBox("No Bundle Name Template set.", MessageType.Error); } ); if (bundleNameTemplate != SystemDataUtility.GetPlatformValue( node.bundleNameTemplate.ReadonlyDict(), node.currentPlatform ).ToString() ) { node.BeforeSave(); node.bundleNameTemplate.Add(SystemDataUtility.CreateKeyNameFromString(node.currentPlatform), bundleNameTemplate); node.Save(); } GUILayout.Label("Variants:"); for (int i = 0; i < node.variants.Keys.Count; ++i) { var inputConnectionId = node.variants.Keys[i]; using (new GUILayout.HorizontalScope()) { if (GUILayout.Button("-", GUILayout.Width(30))) { node.BeforeSave(); node.variants.Remove(inputConnectionId); node.DeleteInputPoint(inputConnectionId); } else { var variantName = node.variants.Values[i]; GUIStyle s = new GUIStyle((GUIStyle)"TextFieldDropDownText"); Action makeStyleBold = () => { s.fontStyle = FontStyle.Bold; s.fontSize = 12; }; IntegratedGUIBundlizer.ValidateVariantName(variantName, node.variants.Values, makeStyleBold, makeStyleBold, makeStyleBold); variantName = EditorGUILayout.TextField(variantName, s); if (variantName != node.variants.Values[i]) { node.BeforeSave(); node.variants.Values[i] = variantName; node.RenameInputPoint(inputConnectionId, variantName); } } } } if (GUILayout.Button("+")) { node.BeforeSave(); var newid = Guid.NewGuid().ToString(); node.variants.Add(newid, AssetBundleGraphSettings.BUNDLIZER_VARIANTNAME_DEFAULT); node.AddInputPoint(newid, AssetBundleGraphSettings.BUNDLIZER_VARIANTNAME_DEFAULT); } } UpdateDeleteSetting(node); }