Пример #1
0
 public RayRezObjectData(RayRezObjectData src)
     : base(src)
 {
     FromTaskID           = src.FromTaskID;
     BypassRaycast        = src.BypassRaycast;
     RayStart             = src.RayStart;
     RayEnd               = src.RayEnd;
     RayTargetID          = new LSLKey(src.RayTargetID);
     RayEndIsIntersection = src.RayEndIsIntersection;
     RezSelected          = src.RezSelected;
     RemoveItem           = src.RemoveItem;
 }
Пример #2
0
 public void SendRezObjectFromNotecard(
     ScriptInstance instance,
     ViewerAgentAccessor agent,
     LSLKey groupID,
     RayRezObjectData rezdata,
     LSLKey objectID,
     LSLKey notecardItemID,
     AnArray inventorylist)
 {
     lock (instance)
     {
         ViewerConnection vc;
         ViewerCircuit    viewerCircuit;
         if (m_Clients.TryGetValue(agent.AgentID, out vc) &&
             vc.ViewerCircuits.TryGetValue((uint)agent.CircuitCode, out viewerCircuit))
         {
             var inventoryList = new List <UUID>();
             foreach (IValue id in inventorylist)
             {
                 inventoryList.Add(id.AsUUID);
             }
             viewerCircuit.SendMessage(new RezObjectFromNotecard
             {
                 AgentID   = agent.AgentID,
                 SessionID = viewerCircuit.SessionID,
                 GroupID   = groupID,
                 RezData   = new RezObjectFromNotecard.RezDataS
                 {
                     FromTaskID           = rezdata.FromTaskID,
                     BypassRaycast        = rezdata.BypassRaycast != 0,
                     RayStart             = rezdata.RayStart,
                     RayEnd               = rezdata.RayEnd,
                     RayTargetID          = rezdata.RayTargetID,
                     RayEndIsIntersection = rezdata.RayEndIsIntersection != 0,
                     RezSelected          = rezdata.RezSelected != 0,
                 },
                 NotecardData = new RezObjectFromNotecard.NotecardDataS
                 {
                     NotecardItemID = notecardItemID,
                     ObjectID       = objectID
                 },
                 InventoryData = inventoryList
             });
         }
     }
 }
Пример #3
0
 public void SendRezObject(
     ScriptInstance instance,
     ViewerAgentAccessor agent,
     LSLKey groupID,
     RayRezObjectData rezdata,
     LSLKey itemID)
 {
     lock (instance)
     {
         ViewerConnection vc;
         ViewerCircuit    viewerCircuit;
         if (m_Clients.TryGetValue(agent.AgentID, out vc) &&
             vc.ViewerCircuits.TryGetValue((uint)agent.CircuitCode, out viewerCircuit))
         {
             viewerCircuit.SendMessage(new RezObject
             {
                 AgentID   = agent.AgentID,
                 SessionID = viewerCircuit.SessionID,
                 GroupID   = groupID,
                 RezData   = new RezObject.RezDataS
                 {
                     FromTaskID           = rezdata.FromTaskID,
                     BypassRaycast        = rezdata.BypassRaycast != 0,
                     RayStart             = rezdata.RayStart,
                     RayEnd               = rezdata.RayEnd,
                     RayTargetID          = rezdata.RayTargetID,
                     RayEndIsIntersection = rezdata.RayEndIsIntersection != 0,
                     RezSelected          = rezdata.RezSelected != 0,
                 },
                 InventoryData = new RezObject.InventoryDataS
                 {
                     ItemID      = itemID,
                     Name        = string.Empty,
                     Description = string.Empty
                 }
             });
         }
     }
 }