Mantis #2003 - thank you, SachaMagne, for a patch that implements

the first part of gesture persistence.
----------------------------------------------------------
Attachments no longer vanish on walking crossing. Teleport is still
problematic, but will now be blocked with message "Inconsistent
attachment state" rather than losing the attachment. Detach to be
able to TP in that case.
This commit is contained in:
Melanie Thielker
2008-08-20 01:48:51 +00:00
parent 2c6d8ba501
commit f206ffd5a8
8 changed files with 163 additions and 9 deletions

View File

@@ -247,6 +247,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
private GetScriptRunning handlerGetScriptRunning = null;
private SetScriptRunning handlerSetScriptRunning = null;
private UpdateVector handlerAutoPilotGo = null;
//Gesture
private ActivateGesture handlerActivateGesture = null;
private DeactivateGesture handlerDeactivateGesture = null;
//private TerrainUnacked handlerUnackedTerrain = null;
@@ -931,6 +934,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public event TerrainUnacked OnUnackedTerrain;
public event ActivateGesture OnActivateGesture;
public event DeactivateGesture OnDeactivateGesture;
// voire si c'est necessaire
public void ActivateGesture(LLUUID assetId, LLUUID gestureId)
{
}
public void DeactivateGesture(LLUUID assetId, LLUUID gestureId)
{
}
#region Scene/Avatar to Client
/// <summary>
@@ -2065,6 +2079,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
#endregion
// Gesture
#region Appearance/ Wearables Methods
/// <summary>
@@ -5879,6 +5897,33 @@ namespace OpenSim.Region.ClientStack.LindenUDP
#endregion
#region Gesture Managment
case PacketType.ActivateGestures:
ActivateGesturesPacket activateGesturePacket = (ActivateGesturesPacket)Pack;
handlerActivateGesture = OnActivateGesture;
if (handlerActivateGesture != null)
{
handlerActivateGesture(this,
activateGesturePacket.Data[0].AssetID,
activateGesturePacket.Data[0].ItemID);
}
else m_log.Error("Null pointer for activateGesture");
break;
case PacketType.DeactivateGestures:
DeactivateGesturesPacket deactivateGesturePacket = (DeactivateGesturesPacket)Pack;
handlerDeactivateGesture = OnDeactivateGesture;
if (handlerDeactivateGesture != null)
{
handlerDeactivateGesture(this, deactivateGesturePacket.Data[0].ItemID);
}
break;
#endregion
#region unimplemented handlers
case PacketType.StartPingCheck: