private void SaveNewTempalte()
 {
     CleanUpPropertiesBeforeSave();
     Templates.Add(SelectedTemplate);
     selectedIndex = Templates.IndexOf(SelectedTemplate);
     TemplateManagerDAO.Save(Templates);
 }
 private void DeleteTemplate()
 {
     Templates.RemoveAll(t => t.Name.Equals(SelectedTemplate.Name));
     SelectedTemplate    = Templates.FirstOrDefault();
     selectedIndex       = Templates.IndexOf(SelectedTemplate);
     lastTemplateUpdated = SelectedTemplate.Name;
     TemplateManagerDAO.Save(Templates);
 }
        private static void LoadTemplates()
        {
            List <TemplateEntry> templates = TemplateManagerDAO.Load();

            if (templates.Count != Templates.Count)
            {
                Templates = templates;
            }
        }
 private void UpdateTemplate()
 {
     CleanUpPropertiesBeforeSave();
     Templates.RemoveAt(selectedIndex);
     Templates.Add(SelectedTemplate);
     selectedIndex       = Templates.IndexOf(SelectedTemplate);
     lastTemplateUpdated = SelectedTemplate.Name;
     TemplateManagerDAO.Save(Templates);
 }
Пример #5
0
 static void Open()
 {
     NewScriptWindow.template = TemplateManagerDAO.Load().Find(t => t.Name.Equals("Scriptable Object"));
     EditorWindow.GetWindow <NewScriptWindow>(NewScriptWindow.template.Name, true, new Type[] { Type.GetType("UnityEditor.SceneView,UnityEditor.dll") });
 }
        private void DrawControls()
        {
            GUILayout.BeginHorizontal();

            // If in creation mode
            if (isEditMode || isCreateMode)
            {
                // Can't save an invalid template

                if (GUILayout.Button("Save", GUILayout.Width(100)))
                {
                    if (isEditMode)
                    {
                        if (Regex.IsMatch(SelectedTemplate.Name, @"^\d"))
                        {
                            Debug.LogError("This template name should not start with a number.");
                        }
                        else if (string.IsNullOrWhiteSpace(SelectedTemplate.Name))
                        {
                            Debug.LogError("This template name is mandatory.");
                        }
                        else
                        {
                            UpdateTemplate();
                            isEditMode = false;
                        }
                    }
                    else
                    {
                        if (TemplateManagerDAO.Load().Exists(t => t.Name.Equals(SelectedTemplate.Name)))
                        {
                            Debug.LogError("This template name is already taken.");
                        }
                        else if (string.IsNullOrWhiteSpace(SelectedTemplate.Name))
                        {
                            Debug.LogError("This template name is mandatory.");
                        }
                        else if (Regex.IsMatch(SelectedTemplate.Name, @"^\d"))
                        {
                            Debug.LogError("This template name should not start with a number.");
                        }
                        else
                        {
                            SaveNewTempalte();

                            isCreateMode = false;
                        }
                    }
                }
                if (GUILayout.Button("Abord", GUILayout.Width(100)))
                {
                    SelectedTemplate = Templates[selectedIndex];
                    isEditMode       = false;
                    isCreateMode     = false;
                }
            }
            else
            {
                // Add control to edit/delete selected template or create a new one
                if (GUILayout.Button("Create", GUILayout.Width(100)))
                {
                    CreateTemplate();
                    isCreateMode = true;
                }
                // Can't edit or remove non existing template
                EditorGUI.BeginDisabledGroup(Templates.Count == 0);

                if (GUILayout.Button("Edit", GUILayout.Width(100)))
                {
                    isEditMode = true;
                }
                if (GUILayout.Button("Delete", GUILayout.Width(100)))
                {
                    DeleteTemplate();
                }
                EditorGUI.EndDisabledGroup();
            }
            GUILayout.EndHorizontal();
        }