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); } } }
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(); }
public void SetFields(Field[] ssbFields) { PluginLoader.SetFields(this, ssbFields); }