// Render color property. public bool RenderColorGroupProperty(ProfileGroupDefinition def) { EditorGUILayout.BeginHorizontal(); ColorKeyframeGroup group = m_Profile.GetGroup <ColorKeyframeGroup>(def.propertyKey); EditorGUILayout.PrefixLabel(new GUIContent(group.name, def.tooltip)); bool valueChanged = false; if (m_Profile.IsManagedByTimeline(def.propertyKey)) { RenderManagedOnTimlineMessage(); } else { ColorKeyframe frame = group.GetKeyframe(0); EditorGUI.BeginChangeCheck(); Color selectedColor = EditorGUILayout.ColorField(frame.color); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(m_Profile, "Changed color keyframe value"); frame.color = selectedColor; valueChanged = true; } } EditorGUILayout.EndHorizontal(); return(valueChanged); }
private void InsertKeyframeInColorGroup(float time, ColorKeyframeGroup group) { ColorKeyframe previousKeyFrame = group.GetPreviousKeyFrame(time); //Color keyColor = previousKeyFrame != null ? previousKeyFrame.color : Color.white; ColorKeyframe newKeyFrame = new ColorKeyframe(previousKeyFrame); newKeyFrame.time = time; group.AddKeyFrame(newKeyFrame); KeyframeInspectorWindow.SetKeyframeData( newKeyFrame, group, KeyframeInspectorWindow.KeyType.Color, m_ActiveSkyProfile); }
public static void RenderColorGroupRow(Rect rect, SkyProfile profile, ColorKeyframeGroup colors) { bool sortGroup = false; RenderColorGroupRow(rect, colors); for (int i = 0; i < colors.keyframes.Count; i++) { ColorKeyframe currentKey = colors.GetKeyframe(i); // Track key marker mouse events and render. bool didSingleClick = false; bool isDragging = false; bool keyframeUpdated = false; SkyEditorUtility.DrawHorizontalKeyMarker(rect, currentKey, profile, out didSingleClick, out isDragging, out keyframeUpdated); if (keyframeUpdated) { sortGroup = true; } // Show the color keyframe property window. if (didSingleClick || isDragging) { // Load info about this keyframe and show the editor window. KeyframeInspectorWindow.SetKeyframeData( currentKey, colors, KeyframeInspectorWindow.KeyType.Color, profile); if (didSingleClick) { KeyframeInspectorWindow.ShowWindow(); } } } if (sortGroup) { colors.SortKeyframes(); } }
private bool RenderColorGUI() { ColorKeyframe colorKeyFrame = keyframe as ColorKeyframe; if (colorKeyFrame == null) { return(false); } bool didModify = false; EditorGUI.BeginChangeCheck(); Color selectedColor = EditorGUILayout.ColorField(new GUIContent("Color"), colorKeyFrame.color); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(profile, "Keyframe color changed."); colorKeyFrame.color = selectedColor; didModify = true; } return(didModify); }
public ColorKeyframe(ColorKeyframe keyframe) : base(keyframe.time) { this.color = keyframe.color; interpolationCurve = keyframe.interpolationCurve; interpolationDirection = keyframe.interpolationDirection; }