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;
        }
Esempio n. 3
0
        public void RefreshDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute)
        {
            if (!m_infoBoxCache.Contains(mightyMember))
            {
                InitDrawer(mightyMember, mightyAttribute);
                return;
            }

            m_infoBoxCache[mightyMember].RefreshValue();
        }
Esempio n. 4
0
        public void RefreshDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute)
        {
            if (!m_pathCache.Contains(mightyMember))
            {
                EnableDrawer(mightyMember, mightyAttribute);
                return;
            }

            m_pathCache[mightyMember].RefreshValue();
        }
Esempio n. 5
0
        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;
        }
Esempio n. 6
0
        void IRefreshDrawer.RefreshDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute)
        {
            base.RefreshDrawer(mightyMember, mightyAttribute);
            if (!m_colorCache.Contains(mightyMember))
            {
                EnableDrawer(mightyMember, mightyAttribute);
                return;
            }

            m_colorCache[mightyMember].RefreshValue();
        }
Esempio n. 7
0
        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();
        }
Esempio n. 8
0
        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;
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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;
        }
Esempio n. 13
0
        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);
        }
Esempio n. 14
0
        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);
            }
        }
Esempio n. 16
0
 public static T GetDrawerForAttribute <T>(BaseMightyAttribute attribute) where T : BaseMightyDrawer =>
 GetDrawerForAttribute <T>(attribute.GetType());
Esempio n. 17
0
 public abstract void InitDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute);
Esempio n. 18
0
 public override void InitDrawer(BaseMightyMember mightyMember, BaseMightyAttribute mightyAttribute)
 {
 }
Esempio n. 19
0
 public void EnableDrawer(BaseMightyMember mightyMember, BaseMightyAttribute attribute) => Enable(mightyMember, (T)attribute);
Esempio n. 20
0
 public abstract bool GetRefreshDrawer(out IRefreshDrawer drawer, out BaseMightyAttribute attribute);