move reset code out of HandleMoveToTargetUpdate() so that we only call it where needed instead of passing in a flag
parent
fc64cc2439
commit
7b2b47530e
|
@ -1485,10 +1485,18 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the user has pressed a key then we want to cancel any move to target.
|
// If the user has pressed a key then we want to cancel any move to target.
|
||||||
if (HandleMoveToTargetUpdate(
|
if (DCFlagKeyPressed && m_moveToPositionInProgress)
|
||||||
ref agent_control_v3, bodyRotation, DCFlagKeyPressed, bAllowUpdateMoveToPosition))
|
{
|
||||||
|
ResetMoveToTarget();
|
||||||
update_movementflag = true;
|
update_movementflag = true;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (HandleMoveToTargetUpdate(
|
||||||
|
ref agent_control_v3, bodyRotation, bAllowUpdateMoveToPosition))
|
||||||
|
update_movementflag = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Cause the avatar to stop flying if it's colliding
|
// Cause the avatar to stop flying if it's colliding
|
||||||
// with something with the down arrow pressed.
|
// with something with the down arrow pressed.
|
||||||
|
@ -1546,27 +1554,15 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
/// <param value="agent_control_v3">Cumulative agent movement that this method will update.</param>
|
/// <param value="agent_control_v3">Cumulative agent movement that this method will update.</param>
|
||||||
/// <param value="bodyRotation">New body rotation of the avatar.</param>
|
/// <param value="bodyRotation">New body rotation of the avatar.</param>
|
||||||
/// <param value="reset">If true, clear the move to position</param>
|
|
||||||
/// <param value="allowUpdate">If true, allow the update in principle.</param>
|
/// <param value="allowUpdate">If true, allow the update in principle.</param>
|
||||||
/// <returns>True if movement has been updated in some way. False otherwise.</returns>
|
/// <returns>True if movement has been updated in some way. False otherwise.</returns>
|
||||||
public bool HandleMoveToTargetUpdate(
|
public bool HandleMoveToTargetUpdate(
|
||||||
ref Vector3 agent_control_v3, Quaternion bodyRotation, bool reset, bool allowUpdate)
|
ref Vector3 agent_control_v3, Quaternion bodyRotation, bool allowUpdate)
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat("[SCENE PRESENCE]: Called HandleMoveToTargetUpdate() for {0}", Name);
|
// m_log.DebugFormat("[SCENE PRESENCE]: Called HandleMoveToTargetUpdate() for {0}", Name);
|
||||||
|
|
||||||
bool updated = false;
|
bool updated = false;
|
||||||
|
|
||||||
if (reset)
|
|
||||||
{
|
|
||||||
if (m_moveToPositionInProgress)
|
|
||||||
{
|
|
||||||
ResetMoveToTarget();
|
|
||||||
updated = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return updated;
|
|
||||||
}
|
|
||||||
|
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
// "[SCENE PRESENCE]: bAllowUpdateMoveToPosition {0}, m_moveToPositionInProgress {1}, m_autopilotMoving {2}",
|
// "[SCENE PRESENCE]: bAllowUpdateMoveToPosition {0}, m_moveToPositionInProgress {1}, m_autopilotMoving {2}",
|
||||||
// allowUpdate, m_moveToPositionInProgress, m_autopilotMoving);
|
// allowUpdate, m_moveToPositionInProgress, m_autopilotMoving);
|
||||||
|
@ -1712,7 +1708,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
MoveToPositionTarget = pos;
|
MoveToPositionTarget = pos;
|
||||||
|
|
||||||
Vector3 agent_control_v3 = new Vector3();
|
Vector3 agent_control_v3 = new Vector3();
|
||||||
HandleMoveToTargetUpdate(ref agent_control_v3, Rotation, false, true);
|
HandleMoveToTargetUpdate(ref agent_control_v3, Rotation, true);
|
||||||
AddNewMovement(agent_control_v3, Rotation);
|
AddNewMovement(agent_control_v3, Rotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -87,7 +87,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Vector3 agent_control_v3 = new Vector3();
|
Vector3 agent_control_v3 = new Vector3();
|
||||||
presence.HandleMoveToTargetUpdate(ref agent_control_v3, presence.Rotation, false, true);
|
presence.HandleMoveToTargetUpdate(ref agent_control_v3, presence.Rotation, true);
|
||||||
presence.AddNewMovement(agent_control_v3, presence.Rotation);
|
presence.AddNewMovement(agent_control_v3, presence.Rotation);
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue