private void DrawInterp(AnimatorControllerParameterType type, ref ParameterInterpolation i) { Rect r = EditorGUILayout.GetControlRect(GUILayout.MaxWidth(COL2)); if (type == AnimatorControllerParameterType.Bool || type == AnimatorControllerParameterType.Trigger) { return; } var newi = (ParameterInterpolation)EditorGUI.EnumPopup(r, intGC, i, (GUIStyle)"MiniPopup"); if (newi != i) { Undo.RecordObject(target, "Modify Sync Animator"); i = newi; } }
// Constructor public ParameterSettings(int hash, ParameterDefaults defs, ref int paramCount, AnimatorControllerParameterType paramType) { this.hash = hash; this.paramType = paramType; switch (paramType) { case AnimatorControllerParameterType.Float: include = defs.includeFloats; interpolate = defs.interpolateFloats; extrapolate = defs.extrapolateFloats; defaultValue = (float)defs.defaultFloat; fcrusher = new LiteFloatCrusher(LiteFloatCompressType.Half16, 0, 1, true); break; case AnimatorControllerParameterType.Int: include = defs.includeInts; interpolate = defs.interpolateInts; extrapolate = defs.extrapolateInts; defaultValue = (int)defs.defaultInt; icrusher = new LiteIntCrusher(); break; case AnimatorControllerParameterType.Bool: include = defs.includeBools; interpolate = ParameterInterpolation.Hold; extrapolate = ParameterExtrapolation.Hold; defaultValue = (bool)defs.defaultBool; break; case AnimatorControllerParameterType.Trigger: include = defs.includeTriggers; interpolate = ParameterInterpolation.Default; extrapolate = ParameterExtrapolation.Default; defaultValue = (bool)defs.defaultTrigger; break; default: break; } }