internal IEnumerator LoadObject(string urlToFile, GCodeHandler source, MeshLoader loader) { if (!source.loading) { source.loading = true; source.disableUI(); int startindex = urlToFile.LastIndexOf("/") + 1; string savePath = loader.dataPath + FolderToRawGCodes + urlToFile.Substring(startindex); source.createBlankObject(savePath); if (!loader.CheckForExsitingObject(urlToFile)) { if (!File.Exists(savePath)) { // download gcode file from octoprint server UnityWebRequest www = UnityWebRequest.Get(urlToFile); yield return(www.SendWebRequest()); if (www.isNetworkError || www.isHttpError) { Debug.Log(www.error); } else { if (!Directory.Exists(loader.dataPath + "/RawGCodes/")) { Directory.CreateDirectory(loader.dataPath + "/RawGCodes/"); } System.IO.File.WriteAllText(savePath, www.downloadHandler.text); } } string[] Lines = File.ReadAllLines(savePath); Task.Run(() => loader.gcodeMeshGenerator.CreateObjectFromGCode(Lines, loader, source)); } else { if (loader.loadingFromDisk == false) { loader.path = urlToFile; loader.loadingFromDisk = true; } } } }
internal IEnumerator LoadObject(string urlToFile, GCodeHandler source, MeshLoader loader, String path = "") { if (path != "") { FolderToExportTo = path; } if (!source.loading) { source.loading = true; int startindex = urlToFile.LastIndexOf("/") + 1; string savePath = loader.dataPath + FolderToRawGCodes + urlToFile.Substring(startindex); if (!loader.CheckForExsitingObject(urlToFile)) { if (!File.Exists(savePath)) { if (!Directory.Exists(loader.dataPath + "/RawGCodes/")) { Directory.CreateDirectory(loader.dataPath + "/RawGCodes/"); } using (var client = new WebClient()) { client.DownloadFile(urlToFile, savePath); } } string[] Lines = File.ReadAllLines(savePath); loader.gcodeMeshGenerator.CreateObjectFromGCode(Lines, loader, source); } else { if (loader.loadingFromDisk == false) { loader.path = urlToFile; loader.loadingFromDisk = true; } } } return(null); }