예제 #1
0
 public static void SetFields(PluginBase plugin, Field[] fields)
 {
     foreach (FieldInfo field in plugin.GetType().GetFields())
     {
         FieldInfo field1 = field;
         if (fields.Any(x => x.Name.Equals(field1.Name)))
         {
             Field fieldIn = fields.Single(x => x.Name.Equals(field1.Name));
             field1.SetValue(plugin, fieldIn.Value);
         }
     }
 }
예제 #2
0
        public static Field[] GetFields(PluginBase plugin)
        {
            var result = new List<Field>();
            if (plugin == null)
                return result.ToArray();

            FieldInfo[] fields = plugin.GetType().GetFields();

            foreach (FieldInfo fi in fields)
            {
                var oneField = new Field();
                oneField.Value = fi.GetValue(plugin);
                oneField.Name = fi.Name;
                oneField.FieldType = fi.FieldType;
                result.Add(oneField);
            }

            return result.ToArray();
        }
예제 #3
0
 public void SetFields(Field[] ssbFields)
 {
     PluginLoader.SetFields(this, ssbFields);
 }