static void Drawer_Offset(InfluenceVolumeUI s, SerializedInfluenceVolume d, Editor o, bool drawAllOffset) { EditorGUILayout.BeginHorizontal(); EditorGUI.BeginChangeCheck(); float y = 0f; if (drawAllOffset) { EditorGUILayout.PropertyField(d.offset, offsetContent); } else { y = EditorGUILayout.FloatField(yOffsetContent, d.offset.vector3Value.y); } if (EditorGUI.EndChangeCheck()) { //call the offset setter as it will update legacy reflection probe HDProbeEditor editor = (HDProbeEditor)o; InfluenceVolume influenceVolume = editor.GetTarget(editor.target).influenceVolume; if (drawAllOffset) { influenceVolume.offset = d.offset.vector3Value; } else { influenceVolume.offset = new Vector3(0, y, 0); } } HDProbeUI.Drawer_ToolBarButton(HDProbeUI.ToolBar.CapturePosition, o, GUILayout.Width(28f), GUILayout.MinHeight(22f)); EditorGUILayout.EndHorizontal(); }
internal static void DrawGizmos(HDProbe d, GizmoType gizmoType) { HDProbeUI s; if (!HDProbeEditor.TryGetUIStateFor(d, out s)) { return; } var mat = Matrix4x4.TRS(d.transform.position, d.transform.rotation, Vector3.one); switch (EditMode.editMode) { case EditBaseShape: InfluenceVolumeUI.DrawGizmos( s.influenceVolume, d.influenceVolume, mat, InfluenceVolumeUI.HandleType.Base, InfluenceVolumeUI.HandleType.All); break; case EditInfluenceShape: InfluenceVolumeUI.DrawGizmos( s.influenceVolume, d.influenceVolume, mat, InfluenceVolumeUI.HandleType.Influence, InfluenceVolumeUI.HandleType.All); break; case EditInfluenceNormalShape: InfluenceVolumeUI.DrawGizmos( s.influenceVolume, d.influenceVolume, mat, InfluenceVolumeUI.HandleType.InfluenceNormal, InfluenceVolumeUI.HandleType.All); break; default: { var showedHandles = s.influenceVolume.showInfluenceHandles ? InfluenceVolumeUI.HandleType.All : InfluenceVolumeUI.HandleType.Base | InfluenceVolumeUI.HandleType.Influence; InfluenceVolumeUI.DrawGizmos( s.influenceVolume, d.influenceVolume, mat, InfluenceVolumeUI.HandleType.None, showedHandles); break; } } if (d.proxyVolume != null) { ReflectionProxyVolumeComponentUI.DrawGizmos_EditNone(d.proxyVolume); } }
internal static HDProbeUI CreateFor(HDProbeEditor o) { if (o is PlanarReflectionProbeEditor) { return(new PlanarReflectionProbeUI()); } else { return(new HDReflectionProbeUI()); } }
internal static void DrawGizmos(PlanarReflectionProbe d, GizmoType gizmoType) { HDProbeUI.DrawGizmos(d, gizmoType); HDProbeUI s; if (!HDProbeEditor.TryGetUIStateFor(d, out s)) { return; } var mat = Matrix4x4.TRS(d.transform.position + d.transform.rotation * d.influenceVolume.offset, d.transform.rotation, Vector3.one); //gizmo overrides switch (EditMode.editMode) { case EditBaseShape: if (d.influenceVolume.shape != InfluenceShape.Box) { break; } using (new Handles.DrawingScope(mat)) { s.influenceVolume.boxBaseHandle.center = Vector3.zero; s.influenceVolume.boxBaseHandle.size = d.influenceVolume.boxSize; s.influenceVolume.boxBaseHandle.DrawHull(true); s.influenceVolume.boxInfluenceHandle.center = d.influenceVolume.boxBlendOffset; s.influenceVolume.boxInfluenceHandle.size = d.influenceVolume.boxSize + d.influenceVolume.boxBlendSize; s.influenceVolume.boxInfluenceHandle.DrawHull(false); s.influenceVolume.boxInfluenceNormalHandle.center = d.influenceVolume.boxBlendNormalOffset; s.influenceVolume.boxInfluenceNormalHandle.size = d.influenceVolume.boxSize + d.influenceVolume.boxBlendNormalSize; s.influenceVolume.boxInfluenceNormalHandle.DrawHull(false); } break; } if (!HDProbeEditor.TryGetUIStateFor(d, out s)) { return; } if (s.showCaptureHandles || EditMode.editMode == EditCenter) { DrawGizmos_CaptureFrustrum(d); } if (d.useMirrorPlane) { DrawGizmos_CaptureMirror(d); } }
internal static void DrawGizmos(PlanarReflectionProbe d, GizmoType gizmoType) { HDProbeUI.DrawGizmos(d, gizmoType); HDProbeUI s; if (!HDProbeEditor.TryGetUIStateFor(d, out s)) { return; } if (s.showCaptureHandles || EditMode.editMode == EditCenter) { DrawGizmos_CaptureFrustrum(d); } if (d.useMirrorPlane) { DrawGizmos_CaptureMirror(d); } }