diff options
author | lbsa71 | 2007-09-20 05:22:18 +0000 |
---|---|---|
committer | lbsa71 | 2007-09-20 05:22:18 +0000 |
commit | 3c7161d12884e1d13db6261bea087e16541e376e (patch) | |
tree | 546f790e74463c3d962ea7cb8269b0e31ba10b51 | |
parent | * Added TryGetAvatar to SceneManager (diff) | |
download | opensim-SC-3c7161d12884e1d13db6261bea087e16541e376e.zip opensim-SC-3c7161d12884e1d13db6261bea087e16541e376e.tar.gz opensim-SC-3c7161d12884e1d13db6261bea087e16541e376e.tar.bz2 opensim-SC-3c7161d12884e1d13db6261bea087e16541e376e.tar.xz |
* Rewired Touch to route to group/part (Still triggering EventManager as well)
4 files changed, 19 insertions, 26 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs index 5a7dda5..efd682f 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | |||
@@ -516,6 +516,20 @@ namespace OpenSim.Region.Environment.Scenes | |||
516 | public virtual void ProcessObjectGrab(uint localID, LLVector3 offsetPos, IClientAPI remoteClient) | 516 | public virtual void ProcessObjectGrab(uint localID, LLVector3 offsetPos, IClientAPI remoteClient) |
517 | { | 517 | { |
518 | EventManager.TriggerObjectGrab(localID, offsetPos, remoteClient); | 518 | EventManager.TriggerObjectGrab(localID, offsetPos, remoteClient); |
519 | |||
520 | foreach (EntityBase ent in Entities.Values) | ||
521 | { | ||
522 | if (ent is SceneObjectGroup) | ||
523 | { | ||
524 | SceneObjectGroup obj = ent as SceneObjectGroup; | ||
525 | |||
526 | if( obj.HasChildPrim( localID ) ) | ||
527 | { | ||
528 | obj.ObjectGrabHandler(localID, offsetPos, remoteClient); | ||
529 | return; | ||
530 | } | ||
531 | } | ||
532 | } | ||
519 | } | 533 | } |
520 | } | 534 | } |
521 | } \ No newline at end of file | 535 | } \ No newline at end of file |
diff --git a/OpenSim/Region/Environment/Scenes/SceneEvents.cs b/OpenSim/Region/Environment/Scenes/SceneEvents.cs index a5d8667..8e8e9a7 100644 --- a/OpenSim/Region/Environment/Scenes/SceneEvents.cs +++ b/OpenSim/Region/Environment/Scenes/SceneEvents.cs | |||
@@ -133,7 +133,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
133 | public void TriggerObjectGrab(uint localID, LLVector3 offsetPos, IClientAPI remoteClient) | 133 | public void TriggerObjectGrab(uint localID, LLVector3 offsetPos, IClientAPI remoteClient) |
134 | { | 134 | { |
135 | if (OnObjectGrab != null) | 135 | if (OnObjectGrab != null) |
136 | { | ||
136 | OnObjectGrab(localID, offsetPos, remoteClient); | 137 | OnObjectGrab(localID, offsetPos, remoteClient); |
138 | } | ||
137 | } | 139 | } |
138 | 140 | ||
139 | public void TriggerRezScript(uint localID, LLUUID itemID, string script) | 141 | public void TriggerRezScript(uint localID, LLUUID itemID, string script) |
diff --git a/OpenSim/Region/Examples/SimpleApp/MyWorld.cs b/OpenSim/Region/Examples/SimpleApp/MyWorld.cs index 1f62c88..e4b033d 100644 --- a/OpenSim/Region/Examples/SimpleApp/MyWorld.cs +++ b/OpenSim/Region/Examples/SimpleApp/MyWorld.cs | |||
@@ -41,27 +41,6 @@ namespace SimpleApp | |||
41 | this.CreateTerrainTexture(); | 41 | this.CreateTerrainTexture(); |
42 | } | 42 | } |
43 | 43 | ||
44 | public override void ProcessObjectGrab(uint localID, LLVector3 offsetPos, IClientAPI remoteClient) | ||
45 | { | ||
46 | foreach (EntityBase ent in Entities.Values) | ||
47 | { | ||
48 | if (ent is SceneObjectGroup) | ||
49 | { | ||
50 | SceneObjectGroup obj = ent as SceneObjectGroup; | ||
51 | |||
52 | if( obj.HasChildPrim( localID ) ) | ||
53 | { | ||
54 | obj.ObjectGrabHandler(localID, offsetPos, remoteClient); | ||
55 | return; | ||
56 | } | ||
57 | } | ||
58 | } | ||
59 | |||
60 | base.ProcessObjectGrab(localID, offsetPos, remoteClient); | ||
61 | } | ||
62 | |||
63 | #region IWorld Members | ||
64 | |||
65 | override public void AddNewClient(IClientAPI client, bool child) | 44 | override public void AddNewClient(IClientAPI client, bool child) |
66 | { | 45 | { |
67 | SubscribeToClientEvents(client); | 46 | SubscribeToClientEvents(client); |
@@ -79,7 +58,5 @@ namespace SimpleApp | |||
79 | 58 | ||
80 | client.SendRegionHandshake(m_regInfo); | 59 | client.SendRegionHandshake(m_regInfo); |
81 | } | 60 | } |
82 | |||
83 | #endregion | ||
84 | } | 61 | } |
85 | } | 62 | } |
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/EventManager.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/EventManager.cs index d4f0327..ef0ddff 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/EventManager.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/EventManager.cs | |||
@@ -52,9 +52,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine | |||
52 | 52 | ||
53 | // Hook up a test event to our test form | 53 | // Hook up a test event to our test form |
54 | myScriptEngine.Log.Verbose("ScriptEngine", "Hooking up to server events"); | 54 | myScriptEngine.Log.Verbose("ScriptEngine", "Hooking up to server events"); |
55 | myScriptEngine.World.EventManager.OnObjectGrab += new OpenSim.Region.Environment.Scenes.EventManager.ObjectGrabDelegate(touch_start); | 55 | myScriptEngine.World.EventManager.OnObjectGrab += touch_start; |
56 | myScriptEngine.World.EventManager.OnRezScript += new OpenSim.Region.Environment.Scenes.EventManager.NewRezScript(OnRezScript); | 56 | myScriptEngine.World.EventManager.OnRezScript += OnRezScript; |
57 | myScriptEngine.World.EventManager.OnRemoveScript += new OpenSim.Region.Environment.Scenes.EventManager.RemoveScript(OnRemoveScript); | 57 | myScriptEngine.World.EventManager.OnRemoveScript += OnRemoveScript; |
58 | 58 | ||
59 | } | 59 | } |
60 | 60 | ||