public void OnEnable() { m_ClipCurveEditor = new ClipInspectorCurveEditor(); m_SelectionCache = new List <EditorClipSelection>(); var selectedClips = new List <TimelineClip>(); foreach (var editorClipObject in targets) { var editorClip = editorClipObject as EditorClip; if (editorClip != null) { //all selected clips should have the same TimelineAsset if (!IsTimelineAssetValidForEditorClip(editorClip)) { m_SelectionCache.Clear(); return; } m_SelectionCache.Add(new EditorClipSelection(editorClip)); selectedClips.Add(editorClip.clip); } } InitializeProperties(); m_SelectionInfo = new ClipInspectorSelectionInfo(selectedClips); if (m_SelectionInfo.selectedAssetTypesAreHomogeneous) { var selectedAssets = m_SelectionCache.Select(e => e.clip.asset).ToArray(); m_SelectedPlayableAssetsInspector = TimelineInspectorUtility.GetInspectorForObjects(selectedAssets); } m_MultiselectionHeaderTitle = m_SelectionCache.Count + " " + Styles.MultipleSelectionTitle.text; m_ClipAssetTitle.text = PlayableAssetSectionTitle(); }
public void OnEnable() { this.m_ClipCurveEditor = new ClipInspectorCurveEditor(); this.m_DefaultIcon = EditorGUIUtility.FindTexture("DefaultAsset Icon"); this.m_SelectionCache = new List <ClipInspector.EditorClipSelection>(); Object[] targets = base.get_targets(); for (int i = 0; i < targets.Length; i++) { Object @object = targets[i]; EditorClip editorClip = @object as EditorClip; if (editorClip != null) { if (!this.IsTimelineAssetValidForEditorClip(editorClip)) { this.m_SelectionCache.Clear(); return; } this.m_SelectionCache.Add(new ClipInspector.EditorClipSelection(editorClip)); } } this.m_SelectionInfo = this.BuildSelectionInfo(); if (this.m_SelectionInfo.selectedAssetTypesAreHomogeneous) { Object[] objects = (from e in this.m_SelectionCache select e.clip.asset).ToArray <Object>(); this.m_SelectedPlayableAssetsInspector = TimelineInspectorUtility.GetInspectorForObjects(objects); } this.m_MultiselectionHeaderTitle = this.m_SelectionCache.Count + " " + ClipInspector.Styles.MultipleSelectionTitle.get_text(); this.m_ClipAssetTitle.set_text(this.PlayableAssetSectionTitle()); this.InitializeProperties(); }
public static void CurveField(GUIContent title, SerializedProperty property, Action <SerializedProperty> onClick) { Rect controlRect = EditorGUILayout.GetControlRect(new GUILayoutOption[] { GUILayout.MinWidth(20f) }); EditorGUI.BeginProperty(controlRect, title, property); ClipInspectorCurveEditor.DrawCurve(controlRect, property, onClick, EditorGUI.kCurveColor, EditorGUI.kCurveBGColor); EditorGUI.EndProperty(); }
private void DrawBlendCurve(GUIContent title, SerializedProperty modeProperty, SerializedProperty curveProperty, Action <SerializedProperty> onCurveClick) { EditorGUILayout.BeginHorizontal(new GUILayoutOption[0]); EditorGUILayout.PropertyField(modeProperty, title, new GUILayoutOption[0]); if (this.hasMultipleSelection) { GUILayout.FlexibleSpace(); } else { using (new EditorGUI.DisabledScope(modeProperty.get_intValue() != 1)) { ClipInspectorCurveEditor.CurveField(GUIContent.none, curveProperty, onCurveClick); } } EditorGUILayout.EndHorizontal(); }
void DrawBlendCurve(GUIContent title, SerializedProperty modeProperty, SerializedProperty curveProperty, Action <SerializedProperty> onCurveClick) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(modeProperty, title); if (hasMultipleSelection) { GUILayout.FlexibleSpace(); } else { using (new EditorGUI.DisabledScope(modeProperty.intValue != (int)TimelineClip.BlendCurveMode.Manual)) { ClipInspectorCurveEditor.CurveField(GUIContent.none, curveProperty, onCurveClick); } } EditorGUILayout.EndHorizontal(); }
private void DrawLegend(Rect r) { if (this.m_CurveWrappers != null && this.m_CurveWrappers.Length != 0) { Color color = GUI.get_color(); float num = r.get_width() / (float)this.m_CurveWrappers.Length; for (int i = 0; i < this.m_CurveWrappers.Length; i++) { CurveWrapper curveWrapper = this.m_CurveWrappers[i]; if (curveWrapper != null) { Rect rect = new Rect(r.get_x() + (float)i * num, r.get_y(), num, r.get_height()); Color color2 = curveWrapper.color; color2.a = 1f; GUI.set_color(color2); string text = ClipInspectorCurveEditor.LabelName(curveWrapper.binding.propertyName); EditorGUI.LabelField(rect, text, this.m_LegendStyle); } } GUI.set_color(color); } }