public static void DrawPane() { if (targetObject == null || editor == null) { targetObject = PhononSimulationSettings.GetObject(); editor = Editor.CreateEditor(targetObject.GetComponent <SimulationSettings>()); } editor.OnInspectorGUI(); }
public static PropagationSettings SimulationSettings() { SimulationSettings simSetings = PhononSimulationSettings.GetSimulationSettings(); SceneType rayTracer = PhononSettings.GetRayTracerOption(); float simDuration = simSetings.Value.Duration; int simAmbisonicsOrder = simSetings.Value.AmbisonicsOrder; int simMaxSources = simSetings.Value.MaxSources; int simRays = 0; int simSecondaryRays = 0; int simBounces = 0; bool editorInEditMode = false; #if UNITY_EDITOR editorInEditMode = Application.isEditor && !UnityEditor.EditorApplication.isPlayingOrWillChangePlaymode; #endif //When in edit mode use baked settings, when in play mode or standalone application mode use realtime setttings. if (editorInEditMode) { simRays = simSetings.Value.BakeRays; simSecondaryRays = simSetings.Value.BakeSecondaryRays; simBounces = simSetings.Value.BakeBounces; } else { simRays = simSetings.Value.RealtimeRays; simSecondaryRays = simSetings.Value.RealtimeSecondaryRays; simBounces = simSetings.Value.RealtimeBounces; } PropagationSettings simulationSettings = new PropagationSettings { sceneType = rayTracer, rays = simRays, secondaryRays = simSecondaryRays, bounces = simBounces, irDuration = simDuration, ambisonicsOrder = simAmbisonicsOrder, maxConvolutionSources = simMaxSources, }; return(simulationSettings); }