/// ----------------------------------------------------------------- /// <summary> /// </summary> // ----------------------------------------------------------------- public Dispatcher.Messages.ResponseBase CreateObjectHandler(Dispatcher.Messages.RequestBase irequest) { if (irequest.GetType() != typeof(CreateObjectRequest)) { return(OperationFailed("wrong type of request object")); } CreateObjectRequest request = (CreateObjectRequest)irequest; if (request.AssetID == UUID.Zero) { return(OperationFailed("missing asset id")); } SceneObjectGroup sog = null; try { m_log.DebugFormat("[ObjectHandlers] create object \"{0}\" from asset {1}", request.Name, request.AssetID); sog = GetRezReadySceneObject(request.AssetID, request.Name, request.Description, request._UserAccount.PrincipalID, UUID.Zero); if (sog == null) { return(OperationFailed("unable to create object from asset")); } if (request.ObjectID != UUID.Zero) { sog.UUID = request.ObjectID; } if (!String.IsNullOrEmpty(request.StartParameter)) { if (m_jsonstore != null) { // really should register an event handler on the scene to destroy this // store when we are done UUID storeID = sog.UUID; m_jsonstore.CreateStore(request.StartParameter, ref storeID); } } if (!m_scene.AddNewSceneObject(sog, false, request.Position, request.Rotation, request.Velocity)) { return(OperationFailed("failed to add the object to the scene")); } sog.CreateScriptInstances(0, true, m_scene.DefaultScriptEngine, 3); sog.ScheduleGroupForFullUpdate(); } catch (Exception e) { m_log.WarnFormat("[ObjectHandlers] exception thrown in CreateObjectHandler; {0}", e.ToString()); return(OperationFailed(e.Message)); } return(new CreateObjectResponse(sog.UUID)); }
public UUID JsonCreateStore(UUID hostID, UUID scriptID, string value) { UUID uuid = UUID.Zero; if (!m_store.CreateStore(value, ref uuid)) { GenerateRuntimeError("Failed to create Json store"); } return(uuid); }
public UUID JsonCreateStore(UUID hostID, UUID scriptID, string value) { UUID uuid = UUID.Zero; if (!m_store.CreateStore(value, ref uuid)) { GenerateRuntimeError("Failed to create Json store"); } lock (m_scriptStores) { if (!m_scriptStores.ContainsKey(scriptID)) { m_scriptStores[scriptID] = new HashSet <UUID>(); } m_scriptStores[scriptID].Add(uuid); } return(uuid); }