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!");
            }
        }
Esempio n. 2
0
    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();
    }
Esempio n. 3
0
        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;
        }