Esempio n. 1
0
 public void AddEntity(IEntity entity)
 {
     // m_log.Log(LogLevel.DWORLDDETAIL, "AddEntity: {0}, n={1}", m_name, entity.Name.Name);
     if (TrackEntity(entity))
     {
         // tell the viewer about this prim and let the renderer convert it
         //    into the format needed for display
         if (m_shouldQueueEvent)
         {
             // disconnect this work from the caller -- use another thread
             m_workQueueEvent.DoLater(DoEventLater, entity);
         }
         else
         {
             if (OnEntityNew != null)
             {
                 OnEntityNew(entity);
             }
         }
     }
 }
Esempio n. 2
0
 private void ThrottleTextureRequestsCheck()
 {
     OMV.UUID binID = OMV.UUID.Zero;
     lock (m_textureQueue) {
         if (m_textureQueue.Count > 0 && m_currentOutstandingTextureRequests < m_maxOutstandingTextureRequests)
         {
             m_currentOutstandingTextureRequests++;
             binID = m_textureQueue.Dequeue();
         }
     }
     if (binID != OMV.UUID.Zero)
     {
         if (m_doThrottledTextureRequest == null)
         {
             m_doThrottledTextureRequest = new BasicWorkQueue("OSThrottledTexture" + m_numAssetContextBase.ToString());
         }
         m_doThrottledTextureRequest.DoLater(ThrottleTextureMakeRequest, binID);
     }
 }
Esempio n. 3
0
 // called from the renderer when the mouse moves
 private void UserInterface_OnMouseMove(int param, float x, float y)
 {
     Object[] moveParams = { param, x, y };
     m_workQueue.DoLater(UI_MouseMoveLater, moveParams);
     return;
 }