diff options
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
Diffstat (limited to 'OpenSim/Region/Framework')
4 files changed, 57 insertions, 17 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/IWorldComm.cs b/OpenSim/Region/Framework/Interfaces/IWorldComm.cs index 74526c4..948b9dc 100644 --- a/OpenSim/Region/Framework/Interfaces/IWorldComm.cs +++ b/OpenSim/Region/Framework/Interfaces/IWorldComm.cs | |||
@@ -49,10 +49,49 @@ namespace OpenSim.Region.Framework.Interfaces | |||
49 | 49 | ||
50 | public interface IWorldComm | 50 | public interface IWorldComm |
51 | { | 51 | { |
52 | /// <summary> | ||
53 | /// Create a listen event callback with the specified filters. | ||
54 | /// The parameters localID,itemID are needed to uniquely identify | ||
55 | /// the script during 'peek' time. Parameter hostID is needed to | ||
56 | /// determine the position of the script. | ||
57 | /// </summary> | ||
58 | /// <param name="localID">localID of the script engine</param> | ||
59 | /// <param name="itemID">UUID of the script engine</param> | ||
60 | /// <param name="hostID">UUID of the SceneObjectPart</param> | ||
61 | /// <param name="channel">channel to listen on</param> | ||
62 | /// <param name="name">name to filter on</param> | ||
63 | /// <param name="id">key to filter on (user given, could be totally faked)</param> | ||
64 | /// <param name="msg">msg to filter on</param> | ||
65 | /// <returns>number of the scripts handle</returns> | ||
52 | int Listen(uint LocalID, UUID itemID, UUID hostID, int channel, string name, UUID id, string msg); | 66 | int Listen(uint LocalID, UUID itemID, UUID hostID, int channel, string name, UUID id, string msg); |
67 | |||
68 | /// <summary> | ||
69 | /// This method scans over the objects which registered an interest in listen callbacks. | ||
70 | /// For everyone it finds, it checks if it fits the given filter. If it does, then | ||
71 | /// enqueue the message for delivery to the objects listen event handler. | ||
72 | /// The enqueued ListenerInfo no longer has filter values, but the actually trigged values. | ||
73 | /// Objects that do an llSay have their messages delivered here and for nearby avatars, | ||
74 | /// the OnChatFromClient event is used. | ||
75 | /// </summary> | ||
76 | /// <param name="type">type of delvery (whisper,say,shout or regionwide)</param> | ||
77 | /// <param name="channel">channel to sent on</param> | ||
78 | /// <param name="name">name of sender (object or avatar)</param> | ||
79 | /// <param name="id">key of sender (object or avatar)</param> | ||
80 | /// <param name="msg">msg to sent</param> | ||
53 | void DeliverMessage(ChatTypeEnum type, int channel, string name, UUID id, string msg); | 81 | void DeliverMessage(ChatTypeEnum type, int channel, string name, UUID id, string msg); |
82 | |||
83 | /// <summary> | ||
84 | /// Are there any listen events ready to be dispatched? | ||
85 | /// </summary> | ||
86 | /// <returns>boolean indication</returns> | ||
54 | bool HasMessages(); | 87 | bool HasMessages(); |
88 | |||
89 | /// <summary> | ||
90 | /// Pop the first availlable listen event from the queue | ||
91 | /// </summary> | ||
92 | /// <returns>ListenerInfo with filter filled in</returns> | ||
55 | IWorldCommListenerInfo GetNextMessage(); | 93 | IWorldCommListenerInfo GetNextMessage(); |
94 | |||
56 | void ListenControl(UUID itemID, int handle, int active); | 95 | void ListenControl(UUID itemID, int handle, int active); |
57 | void ListenRemove(UUID itemID, int handle); | 96 | void ListenRemove(UUID itemID, int handle); |
58 | void DeleteListener(UUID itemID); | 97 | void DeleteListener(UUID itemID); |
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 464ead8..a4a1abc 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs | |||
@@ -92,8 +92,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
92 | public delegate void OnShutdownDelegate(); | 92 | public delegate void OnShutdownDelegate(); |
93 | 93 | ||
94 | public event OnShutdownDelegate OnShutdown; | 94 | public event OnShutdownDelegate OnShutdown; |
95 | 95 | ||
96 | public delegate void ObjectGrabDelegate(uint localID, uint originalID, Vector3 offsetPos, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs); | ||
97 | public delegate void ObjectDeGrabDelegate(uint localID, uint originalID, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs); | 96 | public delegate void ObjectDeGrabDelegate(uint localID, uint originalID, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs); |
98 | public delegate void ScriptResetDelegate(uint localID, UUID itemID); | 97 | public delegate void ScriptResetDelegate(uint localID, UUID itemID); |
99 | 98 | ||
@@ -103,7 +102,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
103 | 102 | ||
104 | public event OnSetRootAgentSceneDelegate OnSetRootAgentScene; | 103 | public event OnSetRootAgentSceneDelegate OnSetRootAgentScene; |
105 | 104 | ||
105 | /// <summary> | ||
106 | /// Called when an object is touched/grabbed. | ||
107 | /// </summary> | ||
108 | /// The originalID is the local ID of the part that was actually touched. The localID itself is always that of | ||
109 | /// the root part. | ||
110 | public delegate void ObjectGrabDelegate(uint localID, uint originalID, Vector3 offsetPos, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs); | ||
106 | public event ObjectGrabDelegate OnObjectGrab; | 111 | public event ObjectGrabDelegate OnObjectGrab; |
112 | |||
107 | public event ObjectGrabDelegate OnObjectGrabbing; | 113 | public event ObjectGrabDelegate OnObjectGrabbing; |
108 | public event ObjectDeGrabDelegate OnObjectDeGrab; | 114 | public event ObjectDeGrabDelegate OnObjectDeGrab; |
109 | public event ScriptResetDelegate OnScriptReset; | 115 | public event ScriptResetDelegate OnScriptReset; |
@@ -111,55 +117,42 @@ namespace OpenSim.Region.Framework.Scenes | |||
111 | public event OnPermissionErrorDelegate OnPermissionError; | 117 | public event OnPermissionErrorDelegate OnPermissionError; |
112 | 118 | ||
113 | public delegate void NewRezScript(uint localID, UUID itemID, string script, int startParam, bool postOnRez, string engine, int stateSource); | 119 | public delegate void NewRezScript(uint localID, UUID itemID, string script, int startParam, bool postOnRez, string engine, int stateSource); |
114 | |||
115 | public event NewRezScript OnRezScript; | 120 | public event NewRezScript OnRezScript; |
116 | 121 | ||
117 | public delegate void RemoveScript(uint localID, UUID itemID); | 122 | public delegate void RemoveScript(uint localID, UUID itemID); |
118 | |||
119 | public event RemoveScript OnRemoveScript; | 123 | public event RemoveScript OnRemoveScript; |
120 | 124 | ||
121 | public delegate void StartScript(uint localID, UUID itemID); | 125 | public delegate void StartScript(uint localID, UUID itemID); |
122 | |||
123 | public event StartScript OnStartScript; | 126 | public event StartScript OnStartScript; |
124 | 127 | ||
125 | public delegate void StopScript(uint localID, UUID itemID); | 128 | public delegate void StopScript(uint localID, UUID itemID); |
126 | |||
127 | public event StopScript OnStopScript; | 129 | public event StopScript OnStopScript; |
128 | 130 | ||
129 | public delegate bool SceneGroupMoved(UUID groupID, Vector3 delta); | 131 | public delegate bool SceneGroupMoved(UUID groupID, Vector3 delta); |
130 | |||
131 | public event SceneGroupMoved OnSceneGroupMove; | 132 | public event SceneGroupMoved OnSceneGroupMove; |
132 | 133 | ||
133 | public delegate void SceneGroupGrabed(UUID groupID, Vector3 offset, UUID userID); | 134 | public delegate void SceneGroupGrabed(UUID groupID, Vector3 offset, UUID userID); |
134 | |||
135 | public event SceneGroupGrabed OnSceneGroupGrab; | 135 | public event SceneGroupGrabed OnSceneGroupGrab; |
136 | 136 | ||
137 | public delegate bool SceneGroupSpinStarted(UUID groupID); | 137 | public delegate bool SceneGroupSpinStarted(UUID groupID); |
138 | |||
139 | public event SceneGroupSpinStarted OnSceneGroupSpinStart; | 138 | public event SceneGroupSpinStarted OnSceneGroupSpinStart; |
140 | 139 | ||
141 | public delegate bool SceneGroupSpun(UUID groupID, Quaternion rotation); | 140 | public delegate bool SceneGroupSpun(UUID groupID, Quaternion rotation); |
142 | |||
143 | public event SceneGroupSpun OnSceneGroupSpin; | 141 | public event SceneGroupSpun OnSceneGroupSpin; |
144 | 142 | ||
145 | public delegate void LandObjectAdded(ILandObject newParcel); | 143 | public delegate void LandObjectAdded(ILandObject newParcel); |
146 | |||
147 | public event LandObjectAdded OnLandObjectAdded; | 144 | public event LandObjectAdded OnLandObjectAdded; |
148 | 145 | ||
149 | public delegate void LandObjectRemoved(UUID globalID); | 146 | public delegate void LandObjectRemoved(UUID globalID); |
150 | |||
151 | public event LandObjectRemoved OnLandObjectRemoved; | 147 | public event LandObjectRemoved OnLandObjectRemoved; |
152 | 148 | ||
153 | public delegate void AvatarEnteringNewParcel(ScenePresence avatar, int localLandID, UUID regionID); | 149 | public delegate void AvatarEnteringNewParcel(ScenePresence avatar, int localLandID, UUID regionID); |
154 | |||
155 | public event AvatarEnteringNewParcel OnAvatarEnteringNewParcel; | 150 | public event AvatarEnteringNewParcel OnAvatarEnteringNewParcel; |
156 | 151 | ||
157 | public delegate void SignificantClientMovement(IClientAPI remote_client); | 152 | public delegate void SignificantClientMovement(IClientAPI remote_client); |
158 | |||
159 | public event SignificantClientMovement OnSignificantClientMovement; | 153 | public event SignificantClientMovement OnSignificantClientMovement; |
160 | 154 | ||
161 | public delegate void IncomingInstantMessage(GridInstantMessage message); | 155 | public delegate void IncomingInstantMessage(GridInstantMessage message); |
162 | |||
163 | public event IncomingInstantMessage OnIncomingInstantMessage; | 156 | public event IncomingInstantMessage OnIncomingInstantMessage; |
164 | 157 | ||
165 | public event IncomingInstantMessage OnUnhandledInstantMessage; | 158 | public event IncomingInstantMessage OnUnhandledInstantMessage; |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index ec41ac7..8c56870 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -235,6 +235,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
235 | set { m_rootPart.GroupID = value; } | 235 | set { m_rootPart.GroupID = value; } |
236 | } | 236 | } |
237 | 237 | ||
238 | /// <value> | ||
239 | /// The parts of this scene object group. You must lock this property before using it. | ||
240 | /// </value> | ||
238 | public Dictionary<UUID, SceneObjectPart> Children | 241 | public Dictionary<UUID, SceneObjectPart> Children |
239 | { | 242 | { |
240 | get { return m_parts; } | 243 | get { return m_parts; } |
@@ -2097,7 +2100,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2097 | } | 2100 | } |
2098 | 2101 | ||
2099 | /// <summary> | 2102 | /// <summary> |
2100 | /// Get a child part with a given UUID | 2103 | /// Get a part with a given UUID |
2101 | /// </summary> | 2104 | /// </summary> |
2102 | /// <param name="primID"></param> | 2105 | /// <param name="primID"></param> |
2103 | /// <returns>null if a child part with the primID was not found</returns> | 2106 | /// <returns>null if a child part with the primID was not found</returns> |
@@ -2112,7 +2115,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2112 | } | 2115 | } |
2113 | 2116 | ||
2114 | /// <summary> | 2117 | /// <summary> |
2115 | /// Get a child part with a given local ID | 2118 | /// Get a part with a given local ID |
2116 | /// </summary> | 2119 | /// </summary> |
2117 | /// <param name="localID"></param> | 2120 | /// <param name="localID"></param> |
2118 | /// <returns>null if a child part with the local ID was not found</returns> | 2121 | /// <returns>null if a child part with the local ID was not found</returns> |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index b1c6fb9..61ba4da 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -3178,6 +3178,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
3178 | } | 3178 | } |
3179 | } | 3179 | } |
3180 | 3180 | ||
3181 | /// <summary> | ||
3182 | /// Set the events that this part will pass on to listeners. | ||
3183 | /// </summary> | ||
3184 | /// <param name="scriptid"></param> | ||
3185 | /// <param name="events"></param> | ||
3181 | public void SetScriptEvents(UUID scriptid, int events) | 3186 | public void SetScriptEvents(UUID scriptid, int events) |
3182 | { | 3187 | { |
3183 | // scriptEvents oldparts; | 3188 | // scriptEvents oldparts; |