in Assets/DefaultPlayables/Editor/TimelinePlayableWizard.cs [965:1055]
void ClipCapsGUI ()
{
EditorGUILayout.BeginVertical (GUI.skin.box);
if (showHelpBoxes)
{
EditorGUILayout.HelpBox(m_ClipCapsContent.tooltip, MessageType.Info);
EditorGUILayout.Space();
}
EditorGUILayout.LabelField (m_ClipCapsContent);
bool isLooping = (clipCaps & ClipCaps.Looping) == ClipCaps.Looping;
bool isExtrapolation = (clipCaps & ClipCaps.Extrapolation) == ClipCaps.Extrapolation;
bool isClipIn = (clipCaps & ClipCaps.ClipIn) == ClipCaps.ClipIn;
bool isSpeedMultiplier = (clipCaps & ClipCaps.SpeedMultiplier) == ClipCaps.SpeedMultiplier;
bool isBlending = (clipCaps & ClipCaps.Blending) == ClipCaps.Blending;
bool isNone = !isLooping && !isExtrapolation && !isClipIn && !isSpeedMultiplier && !isBlending;
bool isAll = isLooping && isExtrapolation && isClipIn && isSpeedMultiplier && isBlending;
EditorGUI.BeginChangeCheck ();
isNone = EditorGUILayout.ToggleLeft (m_CCNoneContent, isNone);
if (EditorGUI.EndChangeCheck ())
{
if (isNone)
{
isLooping = false;
isExtrapolation = false;
isClipIn = false;
isSpeedMultiplier = false;
isBlending = false;
isAll = false;
}
}
EditorGUI.BeginChangeCheck ();
isLooping = EditorGUILayout.ToggleLeft (m_CCLoopingContent, isLooping);
isExtrapolation = EditorGUILayout.ToggleLeft (m_CCExtrapolationContent, isExtrapolation);
isClipIn = EditorGUILayout.ToggleLeft (m_CCClipInContent, isClipIn);
isSpeedMultiplier = EditorGUILayout.ToggleLeft (m_CCSpeedMultiplierContent, isSpeedMultiplier);
isBlending = EditorGUILayout.ToggleLeft (m_CCBlendingContent, isBlending);
if (EditorGUI.EndChangeCheck ())
{
isNone = !isLooping && !isExtrapolation && !isClipIn && !isSpeedMultiplier && !isBlending;
isAll = isLooping && isExtrapolation && isClipIn && isSpeedMultiplier && isBlending;
}
EditorGUI.BeginChangeCheck ();
isAll = EditorGUILayout.ToggleLeft (m_CCAllContent, isAll);
if (EditorGUI.EndChangeCheck ())
{
if (isAll)
{
isNone = false;
isLooping = true;
isExtrapolation = true;
isClipIn = true;
isSpeedMultiplier = true;
isBlending = true;
}
}
EditorGUILayout.EndVertical();
clipCaps = ClipCaps.None;
if (isNone)
return;
if (isAll)
{
clipCaps = ClipCaps.All;
return;
}
if (isLooping)
clipCaps |= ClipCaps.Looping;
if (isExtrapolation)
clipCaps |= ClipCaps.Extrapolation;
if (isClipIn)
clipCaps |= ClipCaps.ClipIn;
if (isSpeedMultiplier)
clipCaps |= ClipCaps.SpeedMultiplier;
if (isBlending)
clipCaps |= ClipCaps.Blending;
}