private void SelectProject_Click(object sender, RoutedEventArgs e) { resetAll(); parser = new Parser(); OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Multiselect = false; openFileDialog.Filter = "EAST-ADL Files|*.eaxml"; openFileDialog.DefaultExt = ".eaxml"; Nullable <bool> dialogOK = openFileDialog.ShowDialog(); XDocument xml = null; if (dialogOK == true) { xml = parser.LoadXML(openFileDialog.FileName); } else { Console.WriteLine("Closed opendialog without selecting file"); return; } if (parser.Loaded() == true) { MessageBox.Show("EAXML-file successfully loaded!"); SelectWindow selectWindow = new SelectWindow(xml); selectWindow.Show(); } else { MessageBox.Show("Loading of EAXML-file failed! Please try again!"); } }
private void SelectItem() { var proptypes = SettingHelper.PrototypeSettings.Settings.Select(x => x.Name).ToArray(); GUILayout.BeginHorizontal(); _searchString = ToolbarSearchUI.DrawHorizontal(_searchString); if (GUILayout.Button("", GUIStyleHelper.Plus, GUILayout.Height(18), GUILayout.Width(18f))) { SelectWindow.Show("Select Blueprint", proptypes, AddItem); } GUILayout.EndHorizontal(); var items = (string.IsNullOrEmpty(_searchString) ? SettingHelper.BlueprintSettings.Settings : SettingHelper.BlueprintSettings.Settings.Where(x => Regex.IsMatch(x.Name, _searchString, RegexOptions.IgnoreCase))) .OrderBy(x => x.Name) .ToList(); _scroll = GUILayout.BeginScrollView(_scroll); for (int i = 0; i < items.Count; i++) { GUILayout.BeginHorizontal(); if (GUILayout.Button(items[i].Name)) { GUI.FocusControl(""); _itemObject = new SerializedObject(items[i]); _selected = items[i]; } if (GUILayout.Button("", GUIStyleHelper.Minus, GUILayout.Width(18))) { DestroyImmediate(items[i], true); SettingHelper.BlueprintSettings.Settings.RemoveAll(x => x == null); AssetDatabase.SaveAssets(); SettingHelper.BlueprintSettings.SetDirty(); } GUILayout.EndHorizontal(); } GUILayout.EndScrollView(); }
public override void SetupUIElements() { base.SetupUIElements(); //SetupElements //TamplateMask RefreshShaderTemplateMask(); var selectShaderTemplate = EditorContent_Elements.Q <Button>("btn-SelectTemplate"); selectShaderTemplate.clickable.clicked += () => { SelectWindow <ShaderTemplate> .Show(shaderTemplates, "ShaderTemplates", new SelectWindow <ShaderTemplate> .CallBack() { OnSelected = (e, i) => { AddShaderTemplate(e); } }); }; var selectPreset = EditorContent_Elements.Q <Button>("btn-SelectPreset"); selectPreset.clickable.clicked += () => { SelectWindow <ShaderPreset> .Show(shaderPresets, "ShaderPresets", new SelectWindow <ShaderPreset> .CallBack() { OnSelected = (e, i) => { var preset = e; var template = AssetDBHelper.LoadAsset <ShaderTemplate>(preset.Template.name + " t: " + preset.Template.GetTargetTypeName()); var Ins_template = AddShaderTemplate(template); preset.Template.ApplyTo(Ins_template); foreach (var item in preset.Elements) { var ele = AssetDBHelper.LoadAsset <ShaderElement>(item.GetTargetTypeName() + " t: " + item.GetTargetTypeName()); var Ins_ele = AddShadeElement(ele); item.ApplyTo(Ins_ele); } } }); }; //ToolBox var addBtn = this.EditorContent_Elements.Q <ToolbarButton>("ToolBar_Add"); addBtn.clickable.clicked += () => { SelectWindow <ShaderElement> .Show(elementTemplates, "ElementsTemplates", new SelectWindow <ShaderElement> .CallBack() { OnSelected = (e, i) => { AddShadeElement(e); }, WindowSize = () => new Vector2(400, elementTemplates.Count * 25 + 40), DrawSelection = (e, i) => { if (e.AllowMultipleCount > 0) { var count = elements.FindAll(e1 => e1.GetType() == e.GetType()).Count; if (count >= e.AllowMultipleCount) { OnGUIUtility.Vision.GUIEnabled(false); } } if (e == null) { if (GUILayout.Button("null", SelectWindow <ShaderElement> .Styles.Selection)) { SelectWindow <ShaderElement> .instance.Select(default(ShaderElement), i); SelectWindow <ShaderElement> .instance.editorWindow.Close(); return; } } else if (SelectWindow <ShaderElement> .instance.searchField.GeneralValid(e.ToString())) { if (GUILayout.Button(e.ToString(), SelectWindow <ShaderElement> .Styles.Selection)) { SelectWindow <ShaderElement> .instance.Select(e, i); SelectWindow <ShaderElement> .instance.editorWindow.Close(); return; } } OnGUIUtility.Vision.GUIEnabled(true); } }); }; var addPresetBtn = this.EditorContent_Elements.Q <ToolbarButton>("ToolBar_Preset"); addPresetBtn.clickable.clicked += () => { AddPreset(); }; //TemplateContainer //Container ShaderElementsContainer = this.EditorContent_Elements.Q <ScrollView>("ElementContainer"); ShaderElementsContainer.Clear(); //TODO:添加快捷键操作 ShaderElementsContainer.AddManipulator(new ContainerManipulator(this)); //Preivew InitPreview(); //Generate var genrateButton = this.EditorContent_Elements.Q <Button>("btn-generate"); genrateButton.clickable.clicked += OnGenerate; }