Added ClickAction property to SceneObjectPart (and the relevant changes in IClientAPI so its used), so that the default click action (ie touch, sit, etc) can be set on a prim. Note: Sill need to handle the incoming packets that set this, from the client.

afrisby
MW 2007-11-17 12:03:20 +00:00
parent d71b28c731
commit a4a1ff3d9b
4 changed files with 17 additions and 5 deletions

View File

@ -415,7 +415,7 @@ namespace OpenSim.Framework
void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape,
LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, byte[] color, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, byte[] color,
uint parentID, byte[] particleSystem, LLQuaternion rotation); uint parentID, byte[] particleSystem, LLQuaternion rotation, byte clickAction);
void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position,
LLQuaternion rotation); LLQuaternion rotation);

View File

@ -1031,7 +1031,7 @@ namespace OpenSim.Region.ClientStack
public void SendPrimitiveToClient( public void SendPrimitiveToClient(
ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos,
uint flags, uint flags,
LLUUID objectID, LLUUID ownerID, string text, byte[] color, uint parentID, byte[] particleSystem, LLQuaternion rotation) LLUUID objectID, LLUUID ownerID, string text, byte[] color, uint parentID, byte[] particleSystem, LLQuaternion rotation, byte clickAction)
{ {
ObjectUpdatePacket outPacket = new ObjectUpdatePacket(); ObjectUpdatePacket outPacket = new ObjectUpdatePacket();
outPacket.RegionData.RegionHandle = regionHandle; outPacket.RegionData.RegionHandle = regionHandle;
@ -1050,7 +1050,7 @@ namespace OpenSim.Region.ClientStack
outPacket.ObjectData[0].TextColor[3] = color[3]; outPacket.ObjectData[0].TextColor[3] = color[3];
outPacket.ObjectData[0].ParentID = parentID; outPacket.ObjectData[0].ParentID = parentID;
outPacket.ObjectData[0].PSBlock = particleSystem; outPacket.ObjectData[0].PSBlock = particleSystem;
outPacket.ObjectData[0].ClickAction = 0; outPacket.ObjectData[0].ClickAction = clickAction;
//outPacket.ObjectData[0].Flags = 0; //outPacket.ObjectData[0].Flags = 0;
outPacket.ObjectData[0].Radius = 20; outPacket.ObjectData[0].Radius = 20;

View File

@ -352,6 +352,17 @@ namespace OpenSim.Region.Environment.Scenes
set { m_touchName = value; } set { m_touchName = value; }
} }
private byte m_clickAction = 0;
public byte ClickAction
{
get { return m_clickAction; }
set
{
m_clickAction = value;
this.ScheduleFullUpdate();
}
}
protected PrimitiveBaseShape m_shape; protected PrimitiveBaseShape m_shape;
public PrimitiveBaseShape Shape public PrimitiveBaseShape Shape
@ -384,6 +395,7 @@ namespace OpenSim.Region.Environment.Scenes
set { m_updateFlag = value; } set { m_updateFlag = value; }
} }
#region Constructors #region Constructors
/// <summary> /// <summary>
@ -1096,7 +1108,7 @@ namespace OpenSim.Region.Environment.Scenes
byte[] color = new byte[] { m_color.R, m_color.G, m_color.B, m_color.A }; byte[] color = new byte[] { m_color.R, m_color.G, m_color.B, m_color.A };
remoteClient.SendPrimitiveToClient(m_regionHandle, 64096, LocalID, m_shape, lPos, clientFlags, m_uuid, remoteClient.SendPrimitiveToClient(m_regionHandle, 64096, LocalID, m_shape, lPos, clientFlags, m_uuid,
OwnerID, OwnerID,
m_text, color, ParentID, m_particleSystem, lRot); m_text, color, ParentID, m_particleSystem, lRot, m_clickAction);
} }
/// Terse updates /// Terse updates

View File

@ -280,7 +280,7 @@ namespace SimpleApp
public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID,
PrimitiveBaseShape primShape, LLVector3 pos, uint flags, PrimitiveBaseShape primShape, LLVector3 pos, uint flags,
LLUUID objectID, LLUUID ownerID, string text, byte[] color, uint parentID, LLUUID objectID, LLUUID ownerID, string text, byte[] color, uint parentID,
byte[] particleSystem, LLQuaternion rotation) byte[] particleSystem, LLQuaternion rotation, byte clickAction)
{ {
} }