public override void InitDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute) { var property = (MightyMember <PropertyInfo>)mightyMember; m_showNativeCache[mightyMember] = new MightyInfo <object>(property.Target, property.MemberInfo, property.MemberInfo.GetValue(mightyMember.Target)); }
public override void InitDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute) { var attribute = (ProgressBarAttribute)mightyAttribute; var target = mightyMember.InitAttributeTarget <ProgressBarAttribute>(); var colorInfo = EditorDrawUtility.GetColorInfo(mightyMember.Property, target, attribute.ColorName, attribute.Color); m_progressBarCache[mightyMember] = colorInfo; }
public void RefreshDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute) { if (!m_infoBoxCache.Contains(mightyMember)) { InitDrawer(mightyMember, mightyAttribute); return; } m_infoBoxCache[mightyMember].RefreshValue(); }
public void RefreshDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute) { if (!m_pathCache.Contains(mightyMember)) { EnableDrawer(mightyMember, mightyAttribute); return; } m_pathCache[mightyMember].RefreshValue(); }
public override void InitDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute) { var attribute = (StyleAttribute)mightyAttribute; var target = mightyMember.InitAttributeTarget <StyleAttribute>(); var styleInfo = EditorDrawUtility.GetStyleInfo(mightyMember.Property, target, attribute.StyleName, attribute.EditorStyle); m_styleCache[mightyMember] = styleInfo; }
void IRefreshDrawer.RefreshDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute) { base.RefreshDrawer(mightyMember, mightyAttribute); if (!m_colorCache.Contains(mightyMember)) { EnableDrawer(mightyMember, mightyAttribute); return; } m_colorCache[mightyMember].RefreshValue(); }
public void RefreshDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute) { var gameObject = ((MightyComponent)mightyMember).ComponentContext.GameObject; if (!m_priorityCache.ContainsKey(gameObject)) { EnableDrawer(mightyMember, mightyAttribute); return; } m_priorityCache[gameObject].RefreshValue(); }
public override void InitDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute) { var attribute = (InfoBoxAttribute)mightyAttribute; var target = mightyMember.InitAttributeTarget <InfoBoxAttribute>(); if (!mightyMember.Property.GetBoolInfo(target, attribute.VisibleIf, out var visibleInfo)) { visibleInfo = new MightyInfo <bool>(true); } m_infoBoxCache[mightyMember] = visibleInfo; }
public override bool GetRefreshDrawer(out IRefreshDrawer drawer, out BaseMightyAttribute attribute) { if (m_drawer is IRefreshDrawer refreshDrawer) { drawer = refreshDrawer; attribute = m_attribute; return(true); } drawer = null; attribute = null; return(false); }
public override void InitDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute) { var attribute = (LayoutSpaceAttribute)mightyAttribute; var target = mightyMember.InitAttributeTarget <LayoutSpaceAttribute>(); var property = mightyMember.Property; if (!property.GetInfoFromMember <DecoratorPosition>(target, attribute.PositionName, out var positionInfo, Enum.TryParse)) { positionInfo = new MightyInfo <DecoratorPosition>(attribute.Position); } m_flexibleSpaceCache[mightyMember] = positionInfo; }
public void RefreshDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute) { if (!m_buttonCache.Contains(mightyMember)) { InitDrawer(mightyMember, mightyAttribute); return; } if (((ButtonAttribute)mightyAttribute).ExecuteInPlayMode || !EditorApplication.isPlaying) { m_buttonCache[mightyMember].RefreshValue(); } }
public override void InitDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute) { var buttonAttribute = (ButtonAttribute)mightyAttribute; if (mightyMember.Target.GetBoolInfo(buttonAttribute.EnabledCallback, out var enabledInfo)) { enabledInfo.Value = enabledInfo.Value; } else { enabledInfo = new MightyInfo <bool>(GUI.enabled && buttonAttribute.ExecuteInPlayMode || !EditorApplication.isPlaying); } m_buttonCache[mightyMember] = enabledInfo; }
public bool TryGetWrapperInfoByAttribute(BaseMightyAttribute attribute, out MightyWrapperInfo wrapperInfo) { foreach (var info in WrappersInfo) { if (!info.WrappedAttributes.Contains(attribute)) { continue; } wrapperInfo = info; return(true); } wrapperInfo = null; return(false); }
public void RefreshDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute) { if (!m_orderCache.Contains(mightyMember)) { EnableDrawer(mightyMember, mightyAttribute); mightyMember.Context.Drawer.ReorderMembers(); throw MightyExceptionUtilities.AbortAfterReorderMembers; } var order = m_orderCache[mightyMember]; var value = order.Value; if (order.RefreshValue() == value) return; mightyMember.Context.Drawer.ReorderMembers(); throw MightyExceptionUtilities.AbortAfterReorderMembers; }
public override void InitDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute) { var attribute = (CustomDrawerAttribute)mightyAttribute; var target = mightyMember.InitAttributeTarget <CustomDrawerAttribute>(); if (!mightyMember.Property.isArray || mightyMember.Property.propertyType == SerializedPropertyType.String) { InitCallback(mightyMember, target, attribute, m_propertyCallback); } else { InitCallback(mightyMember, target, attribute, m_elementCallback); InitCallback(mightyMember, target, attribute, m_labelledElementCallback); InitCallback(mightyMember, target, attribute, m_rectElementCallback); InitCallback(mightyMember, target, attribute, m_elementHeightCallback); } }
public static T GetDrawerForAttribute <T>(BaseMightyAttribute attribute) where T : BaseMightyDrawer => GetDrawerForAttribute <T>(attribute.GetType());
public abstract void InitDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute);
public override void InitDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute) { }
public void EnableDrawer(BaseMightyMember mightyMember, BaseMightyAttribute attribute) => Enable(mightyMember, (T)attribute);
public abstract bool GetRefreshDrawer(out IRefreshDrawer drawer, out BaseMightyAttribute attribute);