// --------------- public void DrawGUI(TouchGestureThresholds target) { if (this.foldable) { if (!CFGUI.BoldFoldout(this.titleContent, ref this.foldedOut)) { return; } InspectorUtils.BeginIndentedSection(); //CFGUI.BeginIndentedVertical(CFEditorStyles.Inst.transpSunkenBG); } else { InspectorUtils.BeginIndentedSection(this.titleContent); } this.DrawBasicGUI(target); MultiTouchGestureThresholds multiTarget = (target as MultiTouchGestureThresholds); if (multiTarget != null) { EditorGUILayout.Space(); this.DrawMultiTouchGUI(multiTarget); } //CFGUI.EndIndentedVertical(); InspectorUtils.EndIndentedSection(); }
// --------------------- private void DrawMultiTouchGUI(MultiTouchGestureThresholds target) { float pinchDistThreshCm = target.pinchDistThreshCm, pinchAnalogRangeCm = target.pinchAnalogRangeCm, //pinchAnalogDeadzone = target.pinchAnalogDeadzone, pinchDeltaRangeCm = target.pinchDeltaRangeCm, pinchDigitalThreshCm = target.pinchDigitalThreshCm, twistMinDistCm = target.twistMinDistCm, twistAngleThresh = target.twistAngleThresh, twistAnalogRange = target.twistAnalogRange, //twistAnalogDeadzone = target.twistAnalogDeadzone, twistDeltaRange = target.twistDeltaRange, twistDigitalThresh = target.twistDigitalThresh, pinchScrollMagnet = target.pinchScrollMagnet, pinchScrollStepCm = target.pinchScrollStepCm, twistScrollMagnet = target.twistScrollMagnet, twistScrollStep = target.twistScrollStep, multiFingerTapMaxFingerDistCm = target.multiFingerTapMaxFingerDistCm; // GUI... pinchDistThreshCm = CFGUI.FloatField(new GUIContent("Pinch Thresh (cm)", "Pinch distance threshold in centimeters."), pinchDistThreshCm, 0.01f, 5.0f, LABEL_WIDTH); pinchAnalogRangeCm = CFGUI.FloatField(new GUIContent("Pinch Analog Range (cm)", "Pinch distance analog range in centimeters. This is used when binding pinch state to analog axes."), pinchAnalogRangeCm, 0.1f, 10.0f, LABEL_WIDTH); pinchDeltaRangeCm = CFGUI.FloatField(new GUIContent("Pinch Delta Range (cm)", "Pinch distance delta range in centimeters. This is used when binding pinch state to analog axes."), pinchDeltaRangeCm, 0.1f, 10.0f, LABEL_WIDTH); pinchDigitalThreshCm = CFGUI.FloatField(new GUIContent("Pinch Digital Thresh (cm)", "Pinch distance threshold to detect digital states of pinch or spread."), pinchDigitalThreshCm, 0.1f, 5.0f, LABEL_WIDTH); pinchScrollStepCm = CFGUI.FloatField(new GUIContent("Pinch Scroll Step (cm)", "Pinch scroll step in centimeters."), pinchScrollStepCm, 0.1f, 5.0f, LABEL_WIDTH); pinchScrollMagnet = CFGUI.FloatField(new GUIContent("Pinch Scroll Magnet", "Pinch scroll magnet strength."), pinchScrollMagnet, 0, 1, LABEL_WIDTH); EditorGUILayout.Space(); twistMinDistCm = CFGUI.FloatField(new GUIContent("Twist Min. Dist (cm)", "Minimal safe finger distance for twist gesture in centimeters."), twistMinDistCm, 0.01f, 5.0f, LABEL_WIDTH); twistAngleThresh = CFGUI.FloatField(new GUIContent("Twist Thresh (deg)", "Twist threshold in degrees."), twistAngleThresh, 0.01f, 180f, LABEL_WIDTH); twistAnalogRange = CFGUI.FloatField(new GUIContent("Twist Analog Range (deg)", "Twist analog range in degrees. This is used when binding twist state to analog axis."), twistAnalogRange, 1, 360, LABEL_WIDTH); twistDeltaRange = CFGUI.FloatField(new GUIContent("Twist Delta Range (deg)", "Twist angle range in degrees. This is used when binding twist tate to analog axes."), twistDeltaRange, 0.1f, 360.0f, LABEL_WIDTH); twistDigitalThresh = CFGUI.FloatField(new GUIContent("Twist Digital Thresh (deg)", "Twist angle threshold to detect digital states of twist right or left."), twistDigitalThresh, 1f, 180, LABEL_WIDTH); twistScrollStep = CFGUI.FloatField(new GUIContent("Twist Scroll Step (deg)", "Twist scroll step in degrees."), twistScrollStep, 1, 180, LABEL_WIDTH); twistScrollMagnet = CFGUI.FloatField(new GUIContent("Twist Scroll Magnet", "Twsit scroll magnet strength."), twistScrollMagnet, 0, 1, LABEL_WIDTH); EditorGUILayout.Space(); multiFingerTapMaxFingerDistCm = CFGUI.FloatField(new GUIContent("Multi-finger max tap dist (cm)", "Maximal allowed distance between two or more fingers forming a multi-finger when detecting taps."), multiFingerTapMaxFingerDistCm, 0.01f, 5.0f, LABEL_WIDTH); // Register Undo... if ((pinchDistThreshCm != target.pinchDistThreshCm) || (pinchAnalogRangeCm != target.pinchAnalogRangeCm) || //(pinchAnalogDeadzone != target.pinchAnalogDeadzone) || (pinchDeltaRangeCm != target.pinchDeltaRangeCm) || (pinchDigitalThreshCm != target.pinchDigitalThreshCm) || (twistMinDistCm != target.twistMinDistCm) || (twistAngleThresh != target.twistAngleThresh) || (twistAnalogRange != target.twistAnalogRange) || //(twistAnalogDeadzone != target.twistAnalogDeadzone) || (twistDeltaRange != target.twistDeltaRange) || (twistDigitalThresh != target.twistDigitalThresh) || (pinchScrollMagnet != target.pinchScrollMagnet) || (pinchScrollStepCm != target.pinchScrollStepCm) || (twistScrollMagnet != target.twistScrollMagnet) || (twistScrollStep != target.twistScrollStep) || (multiFingerTapMaxFingerDistCm != target.multiFingerTapMaxFingerDistCm)) { CFGUI.CreateUndo("Touch Gesture Thresholds modification", this.undoObject); target.pinchDistThreshCm = pinchDistThreshCm; target.pinchAnalogRangeCm = pinchAnalogRangeCm; //target.pinchAnalogDeadzone = pinchAnalogDeadzone; target.pinchDeltaRangeCm = pinchDeltaRangeCm; target.pinchDigitalThreshCm = pinchDigitalThreshCm; target.twistMinDistCm = twistMinDistCm; target.twistAngleThresh = twistAngleThresh; target.twistAnalogRange = twistAnalogRange; //target.twistAnalogDeadzone = twistAnalogDeadzone; target.twistDeltaRange = twistDeltaRange; target.twistDigitalThresh = twistDigitalThresh; target.multiFingerTapMaxFingerDistCm = multiFingerTapMaxFingerDistCm; target.pinchScrollMagnet = pinchScrollMagnet; target.pinchScrollStepCm = pinchScrollStepCm; target.twistScrollMagnet = twistScrollMagnet; target.twistScrollStep = twistScrollStep; CFGUI.EndUndo(this.undoObject); } }