private string encodeBookmark(FpbBookmark bookmarkToEncode) { string jsonBookmarkString = JsonUtility.ToJson(bookmarkToEncode); byte[] data = System.Text.Encoding.UTF8.GetBytes(jsonBookmarkString); return(System.Convert.ToBase64String(data)); }
private void loadBookmark(FpbBookmark bookmarkToLoad) { if (!bookmarkToLoad.isNullBookmark()) { Camera.main.transform.position = bookmarkToLoad.cameraPosition; Camera.main.transform.rotation = bookmarkToLoad.cameraRotation; cubeObject.transform.rotation = bookmarkToLoad.cubeRotation; GameObject parent = GameObject.Find(bookmarkToLoad.cuttingParent); cuttingPlaneObject.transform.SetParent(parent.transform); cuttingPlaneObject.transform.localPosition = bookmarkToLoad.cuttingPlanePosition; cuttingPlaneObject.transform.localRotation = bookmarkToLoad.cuttingPlaneRotation; opacity.value = bookmarkToLoad.opacity; intensity.value = bookmarkToLoad.intensity; threshold.value = bookmarkToLoad.threshold; projectionType.value = bookmarkToLoad.projectionType; variables.sectionMode = bookmarkToLoad.getSectionMode(); variables.hidePanels = bookmarkToLoad.getBindingBox(); restoredAnnotationText.text = bookmarkToLoad.annotation; } else { restoredAnnotationText.text = "Bookmark " + bookmarkToLoad.getBrowserBookmarkNumber() + " was not found in this browser."; } }
private void restoreBookmarkFromBrowser(int bookmarkNumber) { // Read localStorage using javascript string uniqueName = variables.fpbJSON.uniqueName; #if UNITY_EDITOR if (EditorPrefs.HasKey("fpb-" + uniqueName + "-bookmark" + bookmarkNumber)) { browserBookmark = decodeBookmark(EditorPrefs.GetString("fpb-" + uniqueName + "-bookmark" + bookmarkNumber)); } else { browserBookmark = new FpbBookmark(bookmarkNumber); } #else string evalMe = "var bookmark64String = localStorage.getItem('fpb-" + uniqueName + "-bookmark" + bookmarkNumber + "');" + "if (bookmark64String == null){" + "bookmark64String = 'null" + bookmarkNumber + "';}" + "fpcanvas.SendMessage('Cube', 'getBookmarkFromBrowser', bookmark64String);"; Application.ExternalEval(evalMe); #endif loadBookmark(browserBookmark); variables.freezeAll = true; restoredAnnotationText.gameObject.SetActive(true); infoPanel.SetActive(true); }
public void getBookmarkFromURL(string urlBookmarkString64) { // Decode base-64 string if (urlBookmarkString64.Substring(0, 5) == "xPosE") { // Just load with defaults for now... urlBookmark = null; //urlBookmark = decodeLegacyBookmark (urlBookmarkString64); } else { urlBookmark = decodeBookmark(urlBookmarkString64); } }
public void getBookmarkFromBrowser(string browserBookmarkString64) { // Decode base-64 string if (browserBookmarkString64.Substring(0, 4) == "null") { browserBookmark = new FpbBookmark(int.Parse(browserBookmarkString64.Substring(4, 1))); } else { #if UNITY_EDITOR print(browserBookmarkString64); #else Application.ExternalEval("history.replaceState(null, null, '?b=" + browserBookmarkString64 + "');"); #endif browserBookmark = decodeBookmark(browserBookmarkString64); } }
private void addBookmarkToBrowser(int bookmarkNumber) { FpbBookmark bookmarkToSave = saveBookmark(); string string64ToSave = encodeBookmark(bookmarkToSave); #if UNITY_EDITOR EditorPrefs.SetString("fpb-" + variables.fpbJSON.uniqueName + "-bookmark" + bookmarkNumber, string64ToSave); print(string64ToSave); #else string evalMe = "localStorage.setItem('fpb-" + variables.fpbJSON.uniqueName + "-bookmark" + bookmarkNumber + "', '" + string64ToSave + "');"; Application.ExternalEval(evalMe); evalMe = "history.replaceState(null, null, '?b=" + string64ToSave + "');"; Application.ExternalEval(evalMe); #endif annotationBox.SetActive(false); annotationInputTitleText.text = "Saved bookmark " + bookmarkNumber.ToString() + " to the browser. Copy url to share!"; }
private FpbBookmark saveBookmark() { FpbBookmark newBookmark = new FpbBookmark(); newBookmark.cameraPosition = Camera.main.transform.position; newBookmark.cameraRotation = Camera.main.transform.rotation; newBookmark.cubeRotation = cubeObject.transform.rotation; newBookmark.cuttingParent = cuttingPlaneObject.transform.parent.name; newBookmark.cuttingPlanePosition = cuttingPlaneObject.transform.localPosition; newBookmark.cuttingPlaneRotation = cuttingPlaneObject.transform.localRotation; newBookmark.opacity = opacity.value; newBookmark.intensity = intensity.value; newBookmark.threshold = threshold.value; newBookmark.projectionType = projectionType.value; newBookmark.setSectionMode(variables.sectionMode); newBookmark.setBindingBox(variables.hidePanels); newBookmark.annotation = annotationInputText.text; return(newBookmark); }
public void getBookmarkFromURL(string urlBookmarkString64) { // Decode base-64 string urlBookmark = decodeBookmark(urlBookmarkString64); }