private void SetupSaveAsButton() { var button = _root.Q <Button>("SaveAsPose"); button.clickable.clicked += () => { var folder = HVRSettings.Instance.PosesDirectory; string path; if (string.IsNullOrWhiteSpace(folder)) { path = EditorUtility.SaveFilePanelInProject("Save New Pose", "pose", "asset", "Message"); } else { path = EditorUtility.SaveFilePanelInProject("Save New Pose", "pose", "asset", "Message", folder); } if (!string.IsNullOrEmpty(path)) { var pose = ThisHand.CreateFullHandPose(); SelectedPose = AssetUtils.CreateOrReplaceAsset(pose, path); serializedObject.ApplyModifiedProperties(); } }; }
public void SaveReferencePose(HVRHandPose pose, string name) { try { if (!name.EndsWith(".asset")) { name += ".asset"; } var path = Path.Combine(LocalReferencePoseDirectory, name); AssetUtils.CreateOrReplaceAsset(pose, path); Debug.Log($"Saved {name} to {LocalReferencePoseDirectory}"); } catch (Exception e) { Debug.LogException(e); } }
public HVRHandPose SavePoseToDefault(HVRHandPose pose, string fileName, string directory = null) { try { var PosesDirectory = GetPosesDirectory(); if (string.IsNullOrWhiteSpace(PosesDirectory)) { //Debug.Log($"Setup PosesDirectory and LocalPosesDirectory."); return(SaveRunTimePose(pose, fileName, null)); } if (!string.IsNullOrWhiteSpace(directory)) { var folder = Path.Combine(PosesDirectory, directory); Directory.CreateDirectory(folder); } if (!fileName.EndsWith(".asset")) { fileName += ".asset"; } string path; if (!string.IsNullOrWhiteSpace(directory)) { path = Path.Combine(Path.Combine(LocalPosesDirectory, directory), fileName); } else { path = Path.Combine(LocalPosesDirectory, fileName); } return(AssetUtils.CreateOrReplaceAsset(pose, path)); //Debug.Log($"Saved {fileName} to {LocalPosesDirectory}"); } catch (Exception e) { Debug.LogException(e); } return(null); }