public static GUIMinMaxCurve ( |
||
label | ||
mmCurve | ||
Результат | 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);
}
ModuleUI::GUIMinMaxCurve ( string label, |
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)); }