public void AddAttributeInfosForDependencyPropertys(Type type) { type.GetFilteredStaticFieldsOfType <DependencyProperty>(Filterer_FieldInfo.IsDeclaredWithin(type)) .Convert(f => f.Name) .TryConvert((string s, out string p) => s.TryTrimSuffix("Property", out p)) .Convert(p => type.GetVariableByPath(p)) .SkipNull() .Process(v => this.AddAttributeLink(v.GetVariableName().StyleAsVariableName(), v)); }
public IEnumerable <EditGadget> GetGadgets() { return(target_type.GetFilteredInstanceFields( Filterer_FieldInfo.HasCustomAttributeOfType <AttachEditGadgetAttribute>() ).Convert(f => f.CreateVariable()) .TryNarrow((Variable v, out AttachEditGadgetAttribute a) => v.TryGetCustomAttributeOfType <AttachEditGadgetAttribute>(true, out a) ).Convert(p => EditGadget.New(this, p.item1, p.item2))); }
public IEnumerable <EditProperty> GetAllPropertys() { return(target_type.GetFilteredInstanceFields( Filterer_Utility.Any( Filterer_FieldInfo.HasCustomAttributeOfType <SerializeField>(), Filterer_FieldInfo.HasCustomAttributeOfType <SerializeFieldEX>(), Filterer_FieldInfo.IsPublicField(), Filterer_FieldInfo.IsBackingFieldForPublicSetAndGet() ) ).Convert(f => f.CreateVariable()) .Convert(v => EditProperty.New(this, v))); }
protected override Filterer <FieldInfo> GetFieldInfoFilterer(Type type) { if (type.CanBeTreatedAs <UnityEngine.Object>()) { return(Filterer_FieldInfo.HasCustomAttributeOfType <SerializeFieldEX>()); } return(Filterer_Utility.Any( Filterer_FieldInfo.HasCustomAttributeOfType <SerializeField>(), Filterer_FieldInfo.HasCustomAttributeOfType <SerializeFieldEX>(), Filterer_FieldInfo.IsGetPublic() )); }
protected override Filterer <FieldInfo> GetFieldInfoFilterer(Type type) { if (type.HasCustomAttributeOfType <SaveStateExplicitTypeAttribute>(true)) { return(Filterer_FieldInfo.HasCustomAttributeOfType <SaveStateFieldAttribute>()); } return(Filterer_Utility.Any( Filterer_FieldInfo.HasCustomAttributeOfType <SerializeField>(), Filterer_FieldInfo.HasCustomAttributeOfType <SerializeFieldEX>(), Filterer_FieldInfo.HasCustomAttributeOfType <SaveStateFieldAttribute>(), Filterer_FieldInfo.IsGetPublic() )); }
protected override Filterer <FieldInfo> GetFieldInfoFilterer(Type type) { return(Filterer_FieldInfo.IsPublicField()); }
protected override Filterer <FieldInfo> GetFieldInfoFilterer(Type type) { return(Filterer_FieldInfo.HasCustomAttributeOfType <ATTRIBUTE_TYPE>()); }