uForms.UFProject.ImportXml C# (CSharp) Метод

ImportXml() публичный статический Метод

public static ImportXml ( string xmlPath ) : void
xmlPath string
Результат void
        public static void ImportXml(string xmlPath)
        {
            var assembly = Assembly.GetAssembly(typeof(UFControl));

            var list = assembly.GetTypes()
                .Where(t => t.BaseType == typeof(UFControl))
                .ToList();
            list.Add(typeof(UFControl));
            list = list.Distinct().ToList();

            var attributes = new XmlAttributes();
            list.ForEach(t => attributes.XmlArrayItems.Add(new XmlArrayItemAttribute(t)));

            var attrOverride = new XmlAttributeOverrides();
            attrOverride.Add(typeof(UFControl), "childList", attributes);
            attrOverride.Add(typeof(UFProject), "Controls", attributes);

            current = UFUtility.ImportXml<UFProject>(xmlPath, attrOverride: attrOverride);
            current.Controls.ForEach(child => child.RefleshHierarchy());
        }

Usage Example

Пример #1
0
        void OnGUI()
        {
            GUILayout.BeginHorizontal();
            {
                if (GUILayout.Button("New Form", UIOP.Button))
                {
                    UFProject.CreateNewProject();
                    RepaintAll();
                }

                if (GUILayout.Button("Import Code", UIOP.Button))
                {
                    UFSelector.OpenWindow((t) =>
                    {
                        UFProject.ImportCode(t);
                        UFSelection.ActiveControl = null;
                        RepaintAll();
                    });
                }

                if (GUILayout.Button("Export Code", UIOP.Button))
                {
                    string path = EditorUtility.SaveFilePanel("Select the path to export", "Assets/Editor", UFProject.Current.ClassName, "cs");
                    if (!string.IsNullOrEmpty(path) && path.Contains("/Editor/"))
                    {
                        UFProject.ExportCode(path);
                    }
                }

                if (GUILayout.Button("Export Native Code", UIOP.Button))
                {
                    string path = EditorUtility.SaveFilePanel("Select the path to export", "Assets/Editor", UFProject.Current.ClassName, "cs");
                    if (!string.IsNullOrEmpty(path) && path.Contains("/Editor/"))
                    {
                        UFProject.ExportNativeCode(path);
                    }
                }

                if (GUILayout.Button("Import Xml", UIOP.Button))
                {
                    string path = EditorUtility.OpenFilePanel("Select the path to import", "", "xml");
                    if (!string.IsNullOrEmpty(path) && File.Exists(path))
                    {
                        UFProject.ImportXml(path);
                        RepaintAll();
                    }
                }

                if (GUILayout.Button("Export Xml", UIOP.Button))
                {
                    string path = EditorUtility.SaveFilePanel("Select the path to export", "", UFProject.Current.ClassName, "xml");
                    if (!string.IsNullOrEmpty(path))
                    {
                        UFProject.ExportXml(path);
                    }
                }
            }
        }
All Usage Examples Of uForms.UFProject::ImportXml