public void DoAutoPilot(uint not_used, Vector3 Pos, IClientAPI remote_client) { m_autopilotMoving = true; m_autoPilotTarget = Pos; m_sitAtAutoTarget = false; PrimitiveBaseShape proxy = PrimitiveBaseShape.Default; //proxy.PCode = (byte)PCode.ParticleSystem; proxyObjectGroup = new SceneObjectGroup(UUID, Pos, Rotation, proxy, "", m_scene); proxyObjectGroup.AttachToScene(m_scene); // Commented out this code since it could never have executed, but might still be informative. // if (proxyObjectGroup != null) // { proxyObjectGroup.ScheduleGroupUpdate(PrimUpdateFlags.ForcedFullUpdate); remote_client.SendSitResponse(proxyObjectGroup.UUID, Vector3.Zero, Quaternion.Identity, true, Vector3.Zero, Vector3.Zero, false); IBackupModule backup = m_scene.RequestModuleInterface<IBackupModule>(); if (backup != null) backup.DeleteSceneObjects(new[] {proxyObjectGroup}, true, true); // } // else // { // m_autopilotMoving = false; // m_autoPilotTarget = Vector3.Zero; // ControllingClient.SendAlertMessage("Autopilot cancelled"); // } }
/// <summary> /// Create a New SceneObjectGroup/Part by raycasting /// </summary> /// <param name="ownerID"></param> /// <param name="groupID"></param> /// <param name="pos"></param> /// <param name="rot"></param> /// <param name="shape"></param> public virtual ISceneEntity AddNewPrim ( UUID ownerID, UUID groupID, Vector3 pos, Quaternion rot, PrimitiveBaseShape shape) { SceneObjectGroup sceneObject = new SceneObjectGroup (ownerID, pos, rot, shape, m_DefaultObjectName, m_parentScene); // If an entity creator has been registered for this prim type then use that if (m_entityCreators.ContainsKey ((PCode)shape.PCode)) { sceneObject = (SceneObjectGroup) m_entityCreators [(PCode)shape.PCode].CreateEntity (sceneObject, ownerID, groupID, pos, rot, shape); } else { // Otherwise, use this default creation code; sceneObject.SetGroup (groupID, ownerID, false); AddPrimToScene (sceneObject); sceneObject.ScheduleGroupUpdate (PrimUpdateFlags.ForcedFullUpdate); } return sceneObject; }
public void DoAutoPilot(uint not_used, Vector3 Pos, IClientAPI remote_client) { m_autopilotMoving = true; m_autoPilotTarget = Pos; m_sitAtAutoTarget = false; PrimitiveBaseShape proxy = PrimitiveBaseShape.Default; proxyObjectGroup = new SceneObjectGroup(UUID, Pos, Rotation, proxy, "", m_scene); proxyObjectGroup.AttachToScene(m_scene); proxyObjectGroup.ScheduleGroupUpdate(PrimUpdateFlags.ForcedFullUpdate); remote_client.SendSitResponse(proxyObjectGroup.UUID, Vector3.Zero, Quaternion.Identity, true, Vector3.Zero, Vector3.Zero, false); IBackupModule backup = m_scene.RequestModuleInterface<IBackupModule>(); if (backup != null) backup.DeleteSceneObjects(new[] {proxyObjectGroup}, true, true); }