コード例 #1
0
 public override void OnInspectorGUI()
 {
     AllSetters.RemoveNullOrUnpopulated();
     serializedObject.ApplyModifiedProperties();
     ListDisplayEditor.Init();
     serializedObject.Update();
 }
コード例 #2
0
 private void OnEnable()
 {
     if (target == null)
     {
         return;
     }
     Setter            = (AllSetters)target;
     ListDisplayEditor = new ListDisplayEditor <AllSetters>(this);
 }
コード例 #3
0
        static ModelAccess()
        {
            var t      = typeof(T);
            var fields = t.GetAllFields();
            var props  = t.GetFilteredProperties(fields);

            AllGetters = GetAllGetters(props, fields);
            AllSetters = GetAllSetters(props, fields);

            Getters = AllGetters
                      .GroupBy(x => x.Name, StringComparer.OrdinalIgnoreCase)
                      .Select(x => x.OrderBy(y => y.ModelInfo.Depth).First())
                      .ToDictionary(x => x.Name, x => x, StringComparer.OrdinalIgnoreCase);

            Setters = AllSetters
                      .GroupBy(x => x.Name, StringComparer.OrdinalIgnoreCase)
                      .Select(x => x.OrderBy(y => y.ModelInfo.Depth).First())
                      .ToDictionary(x => x.Name, x => x, StringComparer.OrdinalIgnoreCase);
        }