UnityEditor.ModuleUI.GUIMinMaxCurve C# (CSharp) Method

GUIMinMaxCurve() public static method

public static GUIMinMaxCurve ( GUIContent label, SerializedMinMaxCurve mmCurve ) : void
label UnityEngine.GUIContent
mmCurve SerializedMinMaxCurve
return void
        public static void GUIMinMaxCurve(GUIContent label, SerializedMinMaxCurve mmCurve, params GUILayoutOption[] layoutOptions)
        {
            Rect controlRect = GetControlRect(13, layoutOptions);
            Rect popupRect = GetPopupRect(controlRect);
            controlRect = SubtractPopupWidth(controlRect);
            Rect position = PrefixLabel(controlRect, label);
            MinMaxCurveState state = mmCurve.state;
            switch (state)
            {
                case MinMaxCurveState.k_Scalar:
                {
                    float a = FloatDraggable(controlRect, mmCurve.scalar, mmCurve.m_RemapValue, EditorGUIUtility.labelWidth);
                    if (!mmCurve.signedRange)
                    {
                        mmCurve.scalar.floatValue = Mathf.Max(a, 0f);
                    }
                    break;
                }
                case MinMaxCurveState.k_TwoScalars:
                {
                    Rect rect4 = position;
                    rect4.width = (position.width - 20f) * 0.5f;
                    float minConstant = mmCurve.minConstant;
                    float maxConstant = mmCurve.maxConstant;
                    Rect rect = rect4;
                    rect.xMin -= 20f;
                    EditorGUI.BeginChangeCheck();
                    minConstant = FloatDraggable(rect, minConstant, mmCurve.m_RemapValue, 20f, "g5");
                    if (EditorGUI.EndChangeCheck())
                    {
                        mmCurve.minConstant = minConstant;
                    }
                    rect.x += rect4.width + 20f;
                    EditorGUI.BeginChangeCheck();
                    maxConstant = FloatDraggable(rect, maxConstant, mmCurve.m_RemapValue, 20f, "g5");
                    if (EditorGUI.EndChangeCheck())
                    {
                        mmCurve.maxConstant = maxConstant;
                    }
                    break;
                }
                default:
                {
                    Rect ranges = !mmCurve.signedRange ? kUnsignedRange : kSignedRange;
                    SerializedProperty minCurve = (state != MinMaxCurveState.k_TwoCurves) ? null : mmCurve.minCurve;
                    GUICurveField(position, mmCurve.maxCurve, minCurve, GetColor(mmCurve), ranges, new CurveFieldMouseDownCallback(mmCurve.OnCurveAreaMouseDown));
                    break;
                }
            }
            GUIMMCurveStateList(popupRect, mmCurve);
        }

Same methods

ModuleUI::GUIMinMaxCurve ( string label, SerializedMinMaxCurve mmCurve ) : void

Usage Example

示例#1
0
        public override void OnInspectorGUI(ParticleSystem s)
        {
            if (UVModuleUI.s_Texts == null)
            {
                UVModuleUI.s_Texts = new UVModuleUI.Texts();
            }
            ModuleUI.GUIIntDraggableX2(UVModuleUI.s_Texts.tiles, UVModuleUI.s_Texts.tilesX, this.m_TilesX, UVModuleUI.s_Texts.tilesY, this.m_TilesY);
            int num = ModuleUI.GUIPopup(UVModuleUI.s_Texts.animation, this.m_AnimationType, UVModuleUI.s_Texts.types);

            if (num == 1)
            {
                ModuleUI.GUIToggle(UVModuleUI.s_Texts.randomRow, this.m_RandomRow);
                if (!this.m_RandomRow.boolValue)
                {
                    ModuleUI.GUIInt(UVModuleUI.s_Texts.row, this.m_RowIndex);
                }
            }
            if (num == 1)
            {
                this.m_FrameOverTime.m_RemapValue = (float)this.m_TilesX.intValue;
                this.m_StartFrame.m_RemapValue    = (float)this.m_TilesX.intValue;
            }
            if (num == 0)
            {
                this.m_FrameOverTime.m_RemapValue = (float)(this.m_TilesX.intValue * this.m_TilesY.intValue);
                this.m_StartFrame.m_RemapValue    = (float)(this.m_TilesX.intValue * this.m_TilesY.intValue - 1);
            }
            ModuleUI.GUIMinMaxCurve(UVModuleUI.s_Texts.frameOverTime, this.m_FrameOverTime);
            ModuleUI.GUIMinMaxCurve(UVModuleUI.s_Texts.startFrame, this.m_StartFrame);
            ModuleUI.GUIFloat(UVModuleUI.s_Texts.cycles, this.m_Cycles);
            this.m_UVChannelMask.intValue = (int)((UVChannelFlags)ModuleUI.GUIEnumMask(UVModuleUI.s_Texts.uvChannelMask, (UVChannelFlags)this.m_UVChannelMask.intValue));
        }
All Usage Examples Of UnityEditor.ModuleUI::GUIMinMaxCurve