public object Edit(Rect region, GUIContent label, object element, fiGraphMetadata metadata) { DisableFoldouts(metadata); if (_indent) { region.x += fiRectUtility.IndentHorizontal; region.width -= fiRectUtility.IndentHorizontal; } var heights = new List <float>(_editors.Count); for (int i = 0; i < _editors.Count; ++i) { heights.Add(_editors[i].GetElementHeight(label, element, metadata.Enter(i))); } Rect editRegion = region; for (int i = 0; i < _editors.Count; ++i) { editRegion.height = heights[i]; element = _editors[i].Edit(editRegion, label, element, metadata.Enter(i)); editRegion.y += editRegion.height; } if (_showPrimary) { editRegion.height = NextEditor.GetElementHeight(label, element, metadata.Enter("Primary")); element = NextEditor.Edit(editRegion, label, element, metadata.Enter("Primary")); } return(element); }
public float GetElementHeight(GUIContent label, object element, fiGraphMetadata metadata) { float height = 0; for (int i = 0; i < _editors.Count; ++i) { height += _editors[i].GetElementHeight(label, element, metadata.Enter(i)); } if (_showPrimary) { height += NextEditor.GetElementHeight(label, element, metadata.Enter("Primary")); } return(height); }