Exemple #1
0
 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));
 }
Exemple #2
0
 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)));
 }
Exemple #3
0
 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)));
 }
Exemple #4
0
        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()
                       ));
        }
Exemple #5
0
        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()
                       ));
        }
Exemple #6
0
 protected override Filterer <FieldInfo> GetFieldInfoFilterer(Type type)
 {
     return(Filterer_FieldInfo.IsPublicField());
 }
Exemple #7
0
 protected override Filterer <FieldInfo> GetFieldInfoFilterer(Type type)
 {
     return(Filterer_FieldInfo.HasCustomAttributeOfType <ATTRIBUTE_TYPE>());
 }