mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 22:26:09 +08:00
Treat LSL_Types as special cases in llList2Integer and llList2Float. This could be implemented many other places, but let's do that on a case-by-case basis.
This commit is contained in:
@@ -3421,6 +3421,12 @@ namespace OpenSim.Region.ScriptEngine.Common
|
||||
}
|
||||
try
|
||||
{
|
||||
if (src.Data[index] is LSL_Types.LSLInteger)
|
||||
return Convert.ToInt32(((LSL_Types.LSLInteger) src.Data[index]).value);
|
||||
else if (src.Data[index] is LSL_Types.LSLFloat)
|
||||
return Convert.ToInt32(((LSL_Types.LSLFloat) src.Data[index]).value);
|
||||
else if (src.Data[index] is LSL_Types.LSLString)
|
||||
return Convert.ToInt32(((LSL_Types.LSLString) src.Data[index]).m_string);
|
||||
return Convert.ToInt32(src.Data[index]);
|
||||
}
|
||||
catch (FormatException)
|
||||
@@ -3440,6 +3446,12 @@ namespace OpenSim.Region.ScriptEngine.Common
|
||||
{
|
||||
return 0.0;
|
||||
}
|
||||
if (src.Data[index] is LSL_Types.LSLInteger)
|
||||
return Convert.ToDouble(((LSL_Types.LSLInteger) src.Data[index]).value);
|
||||
else if (src.Data[index] is LSL_Types.LSLFloat)
|
||||
return Convert.ToDouble(((LSL_Types.LSLFloat) src.Data[index]).value);
|
||||
else if (src.Data[index] is LSL_Types.LSLString)
|
||||
return Convert.ToDouble(((LSL_Types.LSLString) src.Data[index]).m_string);
|
||||
return Convert.ToDouble(src.Data[index]);
|
||||
}
|
||||
|
||||
@@ -3456,6 +3468,12 @@ namespace OpenSim.Region.ScriptEngine.Common
|
||||
}
|
||||
try
|
||||
{
|
||||
if (src.Data[index] is LSL_Types.LSLInteger)
|
||||
return Convert.ToDouble(((LSL_Types.LSLInteger) src.Data[index]).value);
|
||||
else if (src.Data[index] is LSL_Types.LSLFloat)
|
||||
return Convert.ToDouble(((LSL_Types.LSLFloat) src.Data[index]).value);
|
||||
else if (src.Data[index] is LSL_Types.LSLString)
|
||||
return Convert.ToDouble(((LSL_Types.LSLString) src.Data[index]).m_string);
|
||||
return Convert.ToDouble(src.Data[index]);
|
||||
}
|
||||
catch (FormatException)
|
||||
|
||||
@@ -3363,6 +3363,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||
}
|
||||
try
|
||||
{
|
||||
if (src.Data[index] is LSL_Types.LSLInteger)
|
||||
return Convert.ToInt32(((LSL_Types.LSLInteger) src.Data[index]).value);
|
||||
else if (src.Data[index] is LSL_Types.LSLFloat)
|
||||
return Convert.ToInt32(((LSL_Types.LSLFloat) src.Data[index]).value);
|
||||
else if (src.Data[index] is LSL_Types.LSLString)
|
||||
return Convert.ToInt32(((LSL_Types.LSLString) src.Data[index]).m_string);
|
||||
return Convert.ToInt32(src.Data[index]);
|
||||
}
|
||||
catch (FormatException)
|
||||
@@ -3382,6 +3388,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||
{
|
||||
return 0.0;
|
||||
}
|
||||
if (src.Data[index] is LSL_Types.LSLInteger)
|
||||
return Convert.ToDouble(((LSL_Types.LSLInteger) src.Data[index]).value);
|
||||
else if (src.Data[index] is LSL_Types.LSLFloat)
|
||||
return Convert.ToDouble(((LSL_Types.LSLFloat) src.Data[index]).value);
|
||||
else if (src.Data[index] is LSL_Types.LSLString)
|
||||
return Convert.ToDouble(((LSL_Types.LSLString) src.Data[index]).m_string);
|
||||
return Convert.ToDouble(src.Data[index]);
|
||||
}
|
||||
|
||||
@@ -3398,6 +3410,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||
}
|
||||
try
|
||||
{
|
||||
if (src.Data[index] is LSL_Types.LSLInteger)
|
||||
return Convert.ToDouble(((LSL_Types.LSLInteger) src.Data[index]).value);
|
||||
else if (src.Data[index] is LSL_Types.LSLFloat)
|
||||
return Convert.ToDouble(((LSL_Types.LSLFloat) src.Data[index]).value);
|
||||
else if (src.Data[index] is LSL_Types.LSLString)
|
||||
return Convert.ToDouble(((LSL_Types.LSLString) src.Data[index]).m_string);
|
||||
return Convert.ToDouble(src.Data[index]);
|
||||
}
|
||||
catch (FormatException)
|
||||
|
||||
Reference in New Issue
Block a user