private void OnEnable() { Debug.Log("OnEnable"); if (controller == null) { controller = new OpenPackageManagerController(); } repoLocalPath = Path.Combine(cachePath, repositoryLocalFileName); if (File.Exists(repoLocalPath)) { // load local repository Debug.Log("local repository exists."); var data = File.ReadAllText(repoLocalPath); controller.ParseRepository(data); drawer = new OpenPackageManagerDrawer(controller); } else { // download repository from github foreach (var link in OpenPackageManagerConfig.RepositoryLinks) { Debug.Log("local repository does not exist. downloading: " + link); EditorCoroutine.start(ConnectionTools.GetData(link, null, (prog) => { Debug.Log("downloading " + prog); }, (data) => { Debug.Log(("Download complete!")); // write file locally File.WriteAllText(repoLocalPath, data); controller.ParseRepository(data); drawer = new OpenPackageManagerDrawer(controller); }, (data) => { Debug.Log("download faild: " + data); })); } } }
public OpenPackageManagerDrawer(OpenPackageManagerController openPackageManagerWindow) { this.controller = openPackageManagerWindow; downloadingPackages = new List <string>(); buttonWidth = GUILayout.Width(100); buttonHeight = GUILayout.Height(30); lineTexture = new Texture2D(1, 1); linkButtonStyle = new GUIStyle(); linkButtonStyle.normal.textColor = Color.blue; linkButtonStyle.stretchWidth = true; }