public override sealed void FromOSD (OSDMap map)
{
foreach (PropertyInfo propertyInfo in GetType ().GetProperties ()) {
if (map.ContainsKey (propertyInfo.Name)) {
try {
if (propertyInfo.PropertyType.IsAssignableFrom (typeof (float)))
propertyInfo.SetValue (this, float.Parse (map [propertyInfo.Name].AsString ()), new object [0]);
else if (propertyInfo.PropertyType.IsAssignableFrom (typeof (int)))
propertyInfo.SetValue (this, map [propertyInfo.Name].AsInteger (), new object [0]);
else if (propertyInfo.PropertyType.IsAssignableFrom (typeof (bool)))
propertyInfo.SetValue (this, map [propertyInfo.Name].AsBoolean (), new object [0]);
else if (propertyInfo.PropertyType.IsAssignableFrom (typeof (string)))
propertyInfo.SetValue (this, map [propertyInfo.Name].AsString (), new object [0]);
else if (propertyInfo.PropertyType.IsAssignableFrom (typeof (UUID)))
propertyInfo.SetValue (this, map [propertyInfo.Name].AsUUID (), new object [0]);
} catch (Exception ex) {
MainConsole.Instance.Warn ("[BaseCurrency]: Exception reading fromOSD() config: " + ex);
}
}
}
}