public void BeginDrawHeader(MightySerializedField serializedField, BaseArrayDecoratorAttribute baseAttribute) { if (PositionByMember(serializedField, baseAttribute).Contains(ArrayDecoratorPosition.BeforeHeader)) { DrawDecorator(serializedField, (T)baseAttribute); } }
public void EndDrawElement(MightySerializedField serializedField, int index, BaseArrayDecoratorAttribute baseAttribute) { if (PositionByMember(serializedField, baseAttribute).Contains(ArrayDecoratorPosition.AfterElements)) { DrawDecoratorElement(serializedField, index, (T)baseAttribute); } }
void IArrayDecoratorDrawer.EndDrawElement(MightySerializedField serializedField, int index, BaseArrayDecoratorAttribute baseAttribute) { var decoratorPosition = PositionByMember(serializedField, baseAttribute); if (decoratorPosition.Contains(ArrayDecoratorPosition.After | ArrayDecoratorPosition.AfterElements)) { DrawDecoratorElement(serializedField, index, (ShowAssetPreviewAttribute)baseAttribute); } }
public void EndDrawHeader(MightySerializedField serializedField, BaseArrayDecoratorAttribute baseAttribute) { var position = PositionByMember(serializedField, baseAttribute); if (position.Contains(ArrayDecoratorPosition.AfterHeader) || position.Contains(ArrayDecoratorPosition.AfterHeaderFoldout) && serializedField.IsExpanded && serializedField.ArraySize > 0) { DrawDecorator(serializedField, (T)baseAttribute); } }
Rect IArrayDecoratorDrawer.BeginDrawElement(Rect position, MightySerializedField serializedField, int index, BaseArrayDecoratorAttribute baseAttribute) { var decoratorPosition = PositionByMember(serializedField, baseAttribute); if (decoratorPosition.Contains(ArrayDecoratorPosition.Before | ArrayDecoratorPosition.BeforeElements)) { position = DrawDecoratorElement(position, serializedField, index, (ShowAssetPreviewAttribute)baseAttribute); } return(position); }
protected override void EnableSerializeFieldDrawer(MightySerializedField serializedField, T attribute) { var property = serializedField.Property; if (!serializedField.GetInfoFromMember <ArrayOption>(attribute.Target, attribute.OptionsCallback, out var optionsInfo)) { optionsInfo = new MightyInfo <ArrayOption>(attribute.Options); } if (!serializedField.TryGetAttributes <BaseArrayDecoratorAttribute>(out var decoratorAttributes)) { decoratorAttributes = new BaseArrayDecoratorAttribute[0]; } m_optionsCache[serializedField] = optionsInfo; m_decorationsCache[serializedField] = decoratorAttributes; }
float IArrayDecoratorDrawer.GetElementHeight(MightySerializedField serializedField, int index, BaseArrayDecoratorAttribute baseAttribute) { var position = PositionByMember(serializedField, baseAttribute); var decoratorHeight = GetDecoratorHeight(serializedField, index, (ShowAssetPreviewAttribute)baseAttribute); var elementHeight = 0f; if (position.Contains(ArrayDecoratorPosition.Before | ArrayDecoratorPosition.BeforeElements)) { elementHeight += decoratorHeight; } if (position.Contains(ArrayDecoratorPosition.After | ArrayDecoratorPosition.AfterElements)) { elementHeight += decoratorHeight; } return(elementHeight); }
public float GetElementHeight(MightySerializedField serializedField, int index, BaseArrayDecoratorAttribute baseAttribute) { var position = PositionByMember(serializedField, baseAttribute); var decoratorHeight = GetDecoratorHeight(serializedField, index, (T)baseAttribute); var elementHeight = 0f; if (position.Contains(ArrayDecoratorPosition.BeforeElements)) { elementHeight += decoratorHeight; } if (index != 0 && position.Contains(ArrayDecoratorPosition.BetweenElements)) { elementHeight += decoratorHeight; } if (position.Contains(ArrayDecoratorPosition.AfterElements)) { elementHeight += decoratorHeight; } return(elementHeight); }
public Rect BeginDrawElement(Rect rect, MightySerializedField serializedField, int index, BaseArrayDecoratorAttribute baseAttribute) { var attribute = (T)baseAttribute; var position = PositionByMember(serializedField, attribute); if (position.Contains(ArrayDecoratorPosition.BeforeElements)) { rect = DrawDecoratorElement(rect, serializedField, index, attribute); } if (index != 0 && position.Contains(ArrayDecoratorPosition.BetweenElements)) { rect = DrawDecoratorElement(rect, serializedField, index, attribute); } return(rect); }
public void BeginDrawElement(MightySerializedField serializedField, int index, BaseArrayDecoratorAttribute baseAttribute) { var attribute = (T)baseAttribute; var position = PositionByMember(serializedField, attribute); if (position.Contains(ArrayDecoratorPosition.BeforeElements)) { DrawDecoratorElement(serializedField, index, attribute); } if (index != 0 && position.Contains(ArrayDecoratorPosition.BetweenElements)) { DrawDecoratorElement(serializedField, index, attribute); } }
void IArrayDecoratorDrawer.EndDrawHeader(MightySerializedField serializedField, BaseArrayDecoratorAttribute baseAttribute) { }
void IArrayDecoratorDrawer.BeginDrawArray(MightySerializedField serializedField, BaseArrayDecoratorAttribute baseAttribute) { }
public void EndDrawMember(MightySerializedField serializedField, BaseArrayDecoratorAttribute baseAttribute, MightyDrawer.PropertyDrawCallback propertyDrawCallback = null, BasePropertyDrawerAttribute drawerAttribute = null) => EndDrawMember(serializedField, (T)baseAttribute, propertyDrawCallback, drawerAttribute);
public void EndDrawArray(MightySerializedField serializedField, BaseArrayDecoratorAttribute baseAttribute) => EndDraw(serializedField, (T)baseAttribute);
public ArrayDecoratorPosition PositionByMember(BaseMightyMember mightyMember, BaseArrayDecoratorAttribute baseAttribute) { if (!m_positionCache.Contains(mightyMember)) { EnableDrawer(mightyMember, baseAttribute); } return(m_positionCache[mightyMember].Value); }
Rect IArrayDecoratorDrawer.EndDrawElement(Rect position, MightySerializedField serializedField, int index, BaseArrayDecoratorAttribute baseAttribute) => position;
public Rect EndDrawElement(Rect rect, MightySerializedField serializedField, int index, BaseArrayDecoratorAttribute baseAttribute) { if (PositionByMember(serializedField, baseAttribute).Contains(ArrayDecoratorPosition.AfterElements)) { rect = DrawDecoratorElement(rect, serializedField, index, (T)baseAttribute); } return(rect); }
void IArrayDecoratorDrawer.EndDrawElement(MightySerializedField serializedField, int index, BaseArrayDecoratorAttribute baseAttribute) => EndLayout(serializedField, (T)baseAttribute);
float IArrayDecoratorDrawer.GetElementHeight(MightySerializedField serializedField, int index, BaseArrayDecoratorAttribute baseAttribute) => 0;