protected void OnGUI() { #if UNITY_5_1_OR_NEWER titleContent.text = "Edit Upfile"; #endif upfile = Upfile.Instance(); EditorGUILayout.Space(); scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); upfile.UnityVersion = EditorGUILayout.TextField("Unity version:", upfile.UnityVersion); EditorGUILayout.Separator(); if (upfile.Repositories != null) { EditorGUILayout.LabelField("Repositories:", EditorStyles.boldLabel); EditorGUILayout.HelpBox("This sections specifies where Uplift will fetch the packages from.", MessageType.Info); // FIXME: Do not care about Upfile Override repositories upfile.Repositories = ArrayField <Repository>( upfile.Repositories, "Remove repository", "Add another repository", new FileRepository { Path = "Enter a path " }, repo => RepositoryField(repo) ); } else { upfile.Repositories = new Repository[0]; Repaint(); } EditorGUILayout.Separator(); if (upfile.Configuration != null) { EditorGUILayout.LabelField("Configuration:", EditorStyles.boldLabel); EditorGUILayout.HelpBox("This sections specifies where Uplift will install the packages into your project.", MessageType.Info); upfile.Configuration.RepositoryPath = PathField("Repository path:", upfile.Configuration.RepositoryPath); upfile.Configuration.DocsPath = PathField("Documentation path:", upfile.Configuration.DocsPath); upfile.Configuration.ExamplesPath = PathField("Examples path:", upfile.Configuration.ExamplesPath); upfile.Configuration.BaseInstallPath = PathField("Base install path:", upfile.Configuration.BaseInstallPath); upfile.Configuration.MediaPath = PathField("Media path:", upfile.Configuration.MediaPath); EditorGUILayout.Separator(); EditorGUILayout.LabelField("Warning: the following path have special behaviours in Unity. Modify them at your own risk!"); upfile.Configuration.GizmoPath = PathField("Gizmo path:", upfile.Configuration.GizmoPath); upfile.Configuration.PluginPath = PathField("Plugin path:", upfile.Configuration.PluginPath); upfile.Configuration.EditorPluginPath = PathField("Plugin path for the Editor:", upfile.Configuration.EditorPluginPath); } EditorGUILayout.Separator(); if (upfile.Dependencies != null) { EditorGUILayout.LabelField("Dependencies:", EditorStyles.boldLabel); EditorGUILayout.HelpBox("This sections specifies which packages your project depends on.", MessageType.Info); upfile.Dependencies = ArrayField <DependencyDefinition>( upfile.Dependencies, "Remove dependency", "Declare another dependency", new DependencyDefinition { Name = "Enter a package name", Version = "Enter a version" }, def => DependencyField(def) ); } else { upfile.Dependencies = new DependencyDefinition[0]; Repaint(); } EditorGUILayout.EndScrollView(); EditorGUILayout.Separator(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Refresh Upfile")) { Upfile.InitializeInstance(); } if (GUILayout.Button("Edit raw Upfile")) { EditorWindow.GetWindow(typeof(RawUpfileEditor)); } if (GUILayout.Button("Save Upfile")) { upfile.SaveFile(); } EditorGUILayout.EndHorizontal(); }
private static void RefreshUpfile() { Upfile.InitializeInstance(); Debug.Log("Upfile refreshed"); }