bool VerifyConfiguration(SliceConfigurationFile sliceConfigurationFile) { var errorsExist = false; var errors = "Please fix the following errors:"; if (!sliceConfigurationFile.SliceConfiguration.AllFoldersSpecified) { errors += "\n\nOne or more save folders have not been specified!"; errorsExist = true; } if (!sliceConfigurationFile.SliceConfiguration.AllOutputNamesSpecified) { errors += "\n\nOne or more output names have not been specified!"; errorsExist = true; } if (errorsExist) { EditorUtility.DisplayDialog("Error", errors, "OK"); return(false); } else { return(true); } }
void Slice(SliceConfigurationFile sliceConfigurationFile) { SliceConfiguration sliceConfigurationToUse = new SliceConfiguration(sliceConfigurationFile.SliceConfiguration); var slicer = new Slicer(sliceConfigurationToUse, new VersionDependentDataCopier()); string additionalDetails; try { additionalDetails = slicer.InitializeSlice(new CustomTreeDataHandler()); } catch (System.Exception exception) { SliceException sliceException = exception as SliceException; if (sliceException != null) { EditorUtility.DisplayDialog("Slicing Error", sliceException.ReasonSliceFailed, "OK"); return; } SliceCanceledException cancelException = exception as SliceCanceledException; if (cancelException != null) { return; } throw exception; } if (additionalDetails != "") { Debug.Log(additionalDetails); } }
public override void OnInspectorGUI() { editor.OnInspectorGUI(); SliceConfigurationFile sliceConfigurationFile = (SliceConfigurationFile)serializedObject.targetObject; if (sliceConfigurationFile.SliceConfiguration.HasTerrainSample) { if (!Application.isPlaying && GUILayout.Button("Initiate Slice") && VerifyConfiguration(sliceConfigurationFile)) { if (sliceConfigurationFile.SliceConfiguration.SliceMethod == SliceMethod.SliceTerrainGroup || SceneView.lastActiveSceneView.orthographic || EditorUtility.DisplayDialog("Warning", "Scene View not in orthographic mode. Slicing Grid may not accurately represent area to slice. Do " + "you wish to Proceed?", "Proceed")) { Slice(sliceConfigurationFile); } } } }