uForms.UFProject.ImportCode C# (CSharp) Method

ImportCode() public static method

public static ImportCode ( Type t ) : void
t System.Type
return void
        public static void ImportCode(Type t)
        {
            if(t.BaseType != typeof(UFWindow))
            {
                throw new Exception("Specified type is not derived from 'UFWindow'! - " + t.Name);
            }

            current = new UFProject();
            current.Namespace = t.Namespace;
            current.ClassName = t.Name;

            var window = EditorWindow.CreateInstance(t) as UFWindow;
            current.Controls.AddRange(window.Controls);
            current.Controls.ForEach(child => child.RefleshHierarchy());
            EditorWindow.DestroyImmediate(window);
        }

Usage Example

Beispiel #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);
                    }
                }
            }
        }