mirror of
https://github.com/opensim/opensim.git
synced 2026-08-06 17:32:42 +08:00
try fix bsparam setvalue for parameter type string
This commit is contained in:
@@ -351,6 +351,19 @@ namespace OpenSim.Region.PhysicsModule.BulletS
|
||||
{
|
||||
// Get the generic type of the setter
|
||||
Type genericType = setter.GetType().GetGenericArguments()[0];
|
||||
if (genericType == typeof(string))
|
||||
{
|
||||
try
|
||||
{
|
||||
setter(s, defaultValue);
|
||||
}
|
||||
catch
|
||||
{
|
||||
s.Logger.Error($"{LogHeader} Failed setting string parameter value '{valAsString}'");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// Find the 'Parse' method on that type
|
||||
System.Reflection.MethodInfo parser = null;
|
||||
try
|
||||
@@ -359,8 +372,8 @@ namespace OpenSim.Region.PhysicsModule.BulletS
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
s.Logger.ErrorFormat("{0} Exception getting parser for type '{1}': {2}", LogHeader, genericType, e);
|
||||
parser = null;
|
||||
s.Logger.Error($"{LogHeader} Exception getting parser for type '{genericType}': {e.Message}");
|
||||
return;
|
||||
}
|
||||
if (parser != null)
|
||||
{
|
||||
@@ -374,13 +387,11 @@ namespace OpenSim.Region.PhysicsModule.BulletS
|
||||
}
|
||||
catch
|
||||
{
|
||||
s.Logger.ErrorFormat("{0} Failed parsing parameter value '{1}' as type '{2}'", LogHeader, valAsString, genericType);
|
||||
s.Logger.Error($"{LogHeader} Failed parsing parameter value '{valAsString}' as type '{genericType}'");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
s.Logger.ErrorFormat("{0} Could not find parameter parser for type '{1}'", LogHeader, genericType);
|
||||
}
|
||||
s.Logger.Error($"{LogHeader} Could not find parameter parser for type '{genericType}'");
|
||||
}
|
||||
public override bool HasSetOnObject
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user