diff options
author | Justin Clark-Casey (justincc) | 2013-08-21 21:35:03 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2013-08-21 21:35:03 +0100 |
commit | 1f39a763a5186c7c51e10b5b055394672cc6c54e (patch) | |
tree | 976f85d425fe2596245c5e9867cbc4c3e12917b6 /OpenSim/Region/ClientStack | |
parent | * Fix some threading issues in BulletXNA (the managed bullet library), this s... (diff) | |
download | opensim-SC_OLD-1f39a763a5186c7c51e10b5b055394672cc6c54e.zip opensim-SC_OLD-1f39a763a5186c7c51e10b5b055394672cc6c54e.tar.gz opensim-SC_OLD-1f39a763a5186c7c51e10b5b055394672cc6c54e.tar.bz2 opensim-SC_OLD-1f39a763a5186c7c51e10b5b055394672cc6c54e.tar.xz |
Don't allow users to attempt to sit on objects in a child region without going to that region first.
If this is attempted, they get a "Try moving closer. Can't sit on object because it is not in the same region as you." message instead, which is the same as current ll grid.
Sitting on ground is okay, since viewer navigates avatar to required region first before sitting.
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index f0d8181..8c51077 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -6651,6 +6651,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6651 | } | 6651 | } |
6652 | #endregion | 6652 | #endregion |
6653 | 6653 | ||
6654 | if (SceneAgent.IsChildAgent) | ||
6655 | { | ||
6656 | SendCantSitBecauseChildAgentResponse(); | ||
6657 | return true; | ||
6658 | } | ||
6659 | |||
6654 | AgentRequestSit handlerAgentRequestSit = OnAgentRequestSit; | 6660 | AgentRequestSit handlerAgentRequestSit = OnAgentRequestSit; |
6655 | 6661 | ||
6656 | if (handlerAgentRequestSit != null) | 6662 | if (handlerAgentRequestSit != null) |
@@ -6675,6 +6681,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6675 | } | 6681 | } |
6676 | #endregion | 6682 | #endregion |
6677 | 6683 | ||
6684 | if (SceneAgent.IsChildAgent) | ||
6685 | { | ||
6686 | SendCantSitBecauseChildAgentResponse(); | ||
6687 | return true; | ||
6688 | } | ||
6689 | |||
6678 | AgentSit handlerAgentSit = OnAgentSit; | 6690 | AgentSit handlerAgentSit = OnAgentSit; |
6679 | if (handlerAgentSit != null) | 6691 | if (handlerAgentSit != null) |
6680 | { | 6692 | { |
@@ -6684,6 +6696,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6684 | return true; | 6696 | return true; |
6685 | } | 6697 | } |
6686 | 6698 | ||
6699 | /// <summary> | ||
6700 | /// Used when a child agent gets a sit response which should not be fulfilled. | ||
6701 | /// </summary> | ||
6702 | private void SendCantSitBecauseChildAgentResponse() | ||
6703 | { | ||
6704 | SendAlertMessage("Try moving closer. Can't sit on object because it is not in the same region as you."); | ||
6705 | } | ||
6706 | |||
6687 | private bool HandleSoundTrigger(IClientAPI sender, Packet Pack) | 6707 | private bool HandleSoundTrigger(IClientAPI sender, Packet Pack) |
6688 | { | 6708 | { |
6689 | SoundTriggerPacket soundTriggerPacket = (SoundTriggerPacket)Pack; | 6709 | SoundTriggerPacket soundTriggerPacket = (SoundTriggerPacket)Pack; |