Merge branch 'master' of /home/opensim/var/repo/opensim
						commit
						0fedc13fe6
					
				|  | @ -200,24 +200,34 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
|             for (int i = 0; i < result.Length; i++) | ||||
|             { | ||||
|                 if (result[i] is string) | ||||
|                 { | ||||
|                     llist[i] = new LSL_String((string)result[i]); | ||||
|                 } | ||||
|                 else if (result[i] is int) | ||||
|                 { | ||||
|                     llist[i] = new LSL_Integer((int)result[i]); | ||||
|                 } | ||||
|                 else if (result[i] is float) | ||||
|                 { | ||||
|                     llist[i] = new LSL_Float((float)result[i]); | ||||
|                 } | ||||
|                 else if (result[i] is UUID) | ||||
|                 { | ||||
|                     llist[i] = new LSL_Key(result[i].ToString()); | ||||
|                 } | ||||
|                 else if (result[i] is OpenMetaverse.Vector3) | ||||
|                 { | ||||
|                     OpenMetaverse.Vector3 vresult = (OpenMetaverse.Vector3)result[i]; | ||||
|                     llist[i] = new LSL_Vector(vresult.X,vresult.Y,vresult.Z); | ||||
|                     llist[i] = new LSL_Vector(vresult.X, vresult.Y, vresult.Z); | ||||
|                 } | ||||
|                 else if (result[i] is OpenMetaverse.Quaternion) | ||||
|                 { | ||||
|                     OpenMetaverse.Quaternion qresult = (OpenMetaverse.Quaternion)result[i]; | ||||
|                     llist[i] = new LSL_Rotation(qresult.X,qresult.Y,qresult.Z,qresult.W); | ||||
|                     llist[i] = new LSL_Rotation(qresult.X, qresult.Y, qresult.Z, qresult.W); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     MODError(String.Format("unknown list element returned by {0}",fname)); | ||||
|                     MODError(String.Format("unknown list element {1} returned by {0}", fname, result[i].GetType().Name)); | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|  |  | |||
|  | @ -3274,5 +3274,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
|             InitLSL(); | ||||
|             ((LSL_Api)m_LSL_Api).DetachFromAvatar(); | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Checks if thing is a UUID. | ||||
|         /// </summary> | ||||
|         /// <param name="thing"></param> | ||||
|         /// <returns>1 if thing is a valid UUID, 0 otherwise</returns> | ||||
|         public LSL_Integer osIsUUID(string thing) | ||||
|         { | ||||
|             CheckThreatLevel(ThreatLevel.None, "osIsUUID"); | ||||
|             m_host.AddScriptLPS(1); | ||||
| 
 | ||||
|             UUID test; | ||||
|             return UUID.TryParse(thing, out test) ? 1 : 0; | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | @ -276,5 +276,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
| 
 | ||||
|         void osSetTerrainTexture(int level, LSL_Key texture); | ||||
|         void osSetTerrainTextureHeight(int corner, double low, double high); | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Checks if thing is a UUID. | ||||
|         /// </summary> | ||||
|         /// <param name="thing"></param> | ||||
|         /// <returns>1 if thing is a valid UUID, 0 otherwise</returns> | ||||
|         LSL_Integer osIsUUID(string thing); | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -930,5 +930,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
|         { | ||||
|             m_OSSL_Functions.osSetTerrainTextureHeight(corner, low, high); | ||||
|         } | ||||
| 
 | ||||
|         public LSL_Integer osIsUUID(string thing) | ||||
|         { | ||||
|             return m_OSSL_Functions.osIsUUID(thing); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 BlueWall
						BlueWall