You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
.GetProperties()// Get all properties on the layer handler's property list
76
+
.Where(prop =>prop.GetCustomAttributes(typeof(LogicOverridableAttribute),true).Length>0)// Filter to only return the PropertyInfos that have Overridable
77
+
.Where(prop =>!ignoredProperties.Contains(prop.Name))// Only select things that are NOT on the ignored properties list
returnLayer?.Handler.Properties.GetType().GetProperties()// Get all properties on the layer handler's property list
55
-
.Where(prop =>prop.GetCustomAttributes(typeof(LogicOverridableAttribute),true).Length>0)// Filter to only return the PropertyInfos that have Overridable
56
-
.Where(prop =>!ignoredProperties.Contains(prop.Name))// Only select things that are NOT on the ignored properties list
57
-
.Select(prop =>newTuple<string,string,Type>(// Return the name and type of these properties.
58
-
prop.Name,// The actual C# property name
59
-
((LogicOverridableAttribute)prop.GetCustomAttributes(typeof(LogicOverridableAttribute),true)[0]).Name// Get the name specified in the attribute (so it is prettier for the user),
60
-
??prop.Name.TrimStart('_').CamelCaseToSpaceCase(),// but if one wasn't provided, pretty-print the code name
61
-
Nullable.GetUnderlyingType(prop.PropertyType)??prop.PropertyType// If the property is a nullable type (e.g. bool?), will instead return the non-nullable type (bool)
if(value==null){// If the value is null, that means the user selected the "None" option, so remove the override for this property. Also force reset the override to null so that it doesn't persist after removing the logic.
0 commit comments