Example #1
0
        static LSScenePropertyDrawer()
        {
            List <Type> drawerTypes = LSEditorUtility.GetFilteredTypes(typeof(LSScenePropertyDrawer));

            foreach (Type type in drawerTypes)
            {
                LSScenePropertyDrawer drawer = (LSScenePropertyDrawer)Activator.CreateInstance(type);
                Type targetType = drawer.TargetType;
                MappedDrawers.Add(targetType, drawer);
            }
        }
Example #2
0
        private static IEnumerable <LSScenePropertyDrawer> GetPropertyDrawers(SerializedProperty p)
        {
            Type propertyObjectType      = LSEditorUtility.GetPropertyType(p);
            LSScenePropertyDrawer drawer = LSScenePropertyDrawer.GetDrawer(propertyObjectType);

            yield return(drawer);

            IEnumerable <PropertyAttribute> propertyAttributes = LSEditorUtility.GetPropertyAttributes <PropertyAttribute>(p);

            foreach (PropertyAttribute propertyAttribute in propertyAttributes)
            {
                drawer = LSScenePropertyDrawer.GetDrawer(propertyAttribute.GetType());
                yield return(drawer);
            }
        }