diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs | 345 |
1 files changed, 170 insertions, 175 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs index d52b642..c8c9cd8 100644 --- a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs +++ b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs | |||
@@ -114,83 +114,103 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase | |||
114 | public void changed(uint localID, uint change) | 114 | public void changed(uint localID, uint change) |
115 | { | 115 | { |
116 | // Add to queue for all scripts in localID, Object pass change. | 116 | // Add to queue for all scripts in localID, Object pass change. |
117 | myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "changed", EventQueueManager.llDetectNull, new object[] { new LSL_Types.LSLInteger(change) }); | 117 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
118 | "changed",new object[] { new LSL_Types.LSLInteger(change) }, | ||
119 | new DetectParams[0])); | ||
118 | } | 120 | } |
119 | 121 | ||
120 | public void state_entry(uint localID) | 122 | public void state_entry(uint localID) |
121 | { | 123 | { |
122 | // Add to queue for all scripts in ObjectID object | 124 | // Add to queue for all scripts in ObjectID object |
123 | myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "state_entry", EventQueueManager.llDetectNull, new object[] { }); | 125 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
126 | "state_entry",new object[] { }, | ||
127 | new DetectParams[0])); | ||
124 | } | 128 | } |
125 | 129 | ||
126 | public void touch_start(uint localID, uint originalID, Vector3 offsetPos, IClientAPI remoteClient) | 130 | public void touch_start(uint localID, uint originalID, Vector3 offsetPos, |
131 | IClientAPI remoteClient) | ||
127 | { | 132 | { |
128 | // Add to queue for all scripts in ObjectID object | 133 | // Add to queue for all scripts in ObjectID object |
129 | EventQueueManager.Queue_llDetectParams_Struct detstruct = new EventQueueManager.Queue_llDetectParams_Struct(); | 134 | DetectParams[] det = new DetectParams[1]; |
130 | detstruct._key = new LSL_Types.key[1]; | 135 | det[0] = new DetectParams(); |
131 | detstruct._key2 = new LSL_Types.key[1]; | 136 | det[0].Key = remoteClient.AgentId; |
132 | detstruct._string = new string[1]; | 137 | det[0].Populate(myScriptEngine.World); |
133 | detstruct._Vector3 = new LSL_Types.Vector3[1]; | 138 | |
134 | detstruct._Vector32 = new LSL_Types.Vector3[1]; | 139 | if (originalID == 0) |
135 | detstruct._Quaternion = new LSL_Types.Quaternion[1]; | 140 | { |
136 | detstruct._int = new int[1]; | 141 | SceneObjectPart part = myScriptEngine.World.GetSceneObjectPart(localID); |
137 | ScenePresence av = myScriptEngine.World.GetScenePresence(remoteClient.AgentId); | 142 | if (part == null) |
138 | if (av != null) | 143 | return; |
144 | |||
145 | det[0].LinkNum = part.LinkNum; | ||
146 | } | ||
147 | else | ||
148 | { | ||
149 | SceneObjectPart originalPart = myScriptEngine.World.GetSceneObjectPart(originalID); | ||
150 | det[0].LinkNum = originalPart.LinkNum; | ||
151 | } | ||
152 | |||
153 | myScriptEngine.PostObjectEvent(localID, new EventParams( | ||
154 | "touch_start", new Object[] { new LSL_Types.LSLInteger(1) }, | ||
155 | det)); | ||
156 | } | ||
157 | |||
158 | public void touch(uint localID, uint originalID, Vector3 offsetPos, | ||
159 | IClientAPI remoteClient) | ||
160 | { | ||
161 | // Add to queue for all scripts in ObjectID object | ||
162 | DetectParams[] det = new DetectParams[1]; | ||
163 | det[0] = new DetectParams(); | ||
164 | det[0].Key = remoteClient.AgentId; | ||
165 | det[0].Populate(myScriptEngine.World); | ||
166 | det[0].OffsetPos = new LSL_Types.Vector3(offsetPos.X, | ||
167 | offsetPos.Y, | ||
168 | offsetPos.Z); | ||
169 | |||
170 | if (originalID == 0) | ||
139 | { | 171 | { |
140 | detstruct._key[0] = new LSL_Types.key(remoteClient.AgentId.ToString()); | 172 | SceneObjectPart part = myScriptEngine.World.GetSceneObjectPart(localID); |
141 | detstruct._key2[0] = new LSL_Types.key(remoteClient.AgentId.ToString()); | 173 | if (part == null) |
142 | detstruct._string[0] = remoteClient.Name; | 174 | return; |
143 | detstruct._int[0] = 0; | 175 | |
144 | detstruct._Quaternion[0] = new LSL_Types.Quaternion(av.Rotation.X,av.Rotation.Y,av.Rotation.Z,av.Rotation.W); | 176 | det[0].LinkNum = part.LinkNum; |
145 | detstruct._Vector3[0] = new LSL_Types.Vector3(av.AbsolutePosition.X,av.AbsolutePosition.Y,av.AbsolutePosition.Z); | ||
146 | detstruct._Vector32[0] = new LSL_Types.Vector3(av.Velocity.X,av.Velocity.Y,av.Velocity.Z); | ||
147 | } | 177 | } |
148 | else | 178 | else |
149 | { | 179 | { |
150 | detstruct._key[0] = new LSL_Types.key(remoteClient.AgentId.ToString()); | 180 | SceneObjectPart originalPart = myScriptEngine.World.GetSceneObjectPart(originalID); |
151 | detstruct._key2[0] = new LSL_Types.key(remoteClient.AgentId.ToString()); | 181 | det[0].LinkNum = originalPart.LinkNum; |
152 | detstruct._string[0] = remoteClient.Name; | ||
153 | detstruct._int[0] = 0; | ||
154 | detstruct._Quaternion[0] = new LSL_Types.Quaternion(0, 0, 0, 1); | ||
155 | detstruct._Vector3[0] = new LSL_Types.Vector3(0, 0, 0); | ||
156 | detstruct._Vector32[0] = new LSL_Types.Vector3(0, 0, 0); | ||
157 | } | 182 | } |
158 | myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "touch_start", detstruct, new object[] { new LSL_Types.LSLInteger(1) }); | 183 | |
184 | myScriptEngine.PostObjectEvent(localID, new EventParams( | ||
185 | "touch", new Object[] { new LSL_Types.LSLInteger(1) }, | ||
186 | det)); | ||
159 | } | 187 | } |
160 | 188 | ||
161 | public void touch_end(uint localID, uint originalID, IClientAPI remoteClient) | 189 | public void touch_end(uint localID, uint originalID, IClientAPI remoteClient) |
162 | { | 190 | { |
163 | // Add to queue for all scripts in ObjectID object | 191 | // Add to queue for all scripts in ObjectID object |
164 | EventQueueManager.Queue_llDetectParams_Struct detstruct = new EventQueueManager.Queue_llDetectParams_Struct(); | 192 | DetectParams[] det = new DetectParams[1]; |
165 | detstruct._key = new LSL_Types.key[1]; | 193 | det[0] = new DetectParams(); |
166 | detstruct._key2 = new LSL_Types.key[1]; | 194 | det[0].Key = remoteClient.AgentId; |
167 | detstruct._string = new string[1]; | 195 | det[0].Populate(myScriptEngine.World); |
168 | detstruct._Vector3 = new LSL_Types.Vector3[1]; | 196 | |
169 | detstruct._Vector32 = new LSL_Types.Vector3[1]; | 197 | if (originalID == 0) |
170 | detstruct._Quaternion = new LSL_Types.Quaternion[1]; | ||
171 | detstruct._int = new int[1]; | ||
172 | ScenePresence av = myScriptEngine.World.GetScenePresence(remoteClient.AgentId); | ||
173 | if (av != null) | ||
174 | { | 198 | { |
175 | detstruct._key[0] = new LSL_Types.key(remoteClient.AgentId.ToString()); | 199 | SceneObjectPart part = myScriptEngine.World.GetSceneObjectPart(localID); |
176 | detstruct._key2[0] = new LSL_Types.key(remoteClient.AgentId.ToString()); | 200 | if (part == null) |
177 | detstruct._string[0] = remoteClient.Name; | 201 | return; |
178 | detstruct._int[0] = 0; | 202 | |
179 | detstruct._Quaternion[0] = new LSL_Types.Quaternion(av.Rotation.X, av.Rotation.Y, av.Rotation.Z, av.Rotation.W); | 203 | det[0].LinkNum = part.LinkNum; |
180 | detstruct._Vector3[0] = new LSL_Types.Vector3(av.AbsolutePosition.X, av.AbsolutePosition.Y, av.AbsolutePosition.Z); | ||
181 | detstruct._Vector32[0] = new LSL_Types.Vector3(av.Velocity.X, av.Velocity.Y, av.Velocity.Z); | ||
182 | } | 204 | } |
183 | else | 205 | else |
184 | { | 206 | { |
185 | detstruct._key[0] = new LSL_Types.key(remoteClient.AgentId.ToString()); | 207 | SceneObjectPart originalPart = myScriptEngine.World.GetSceneObjectPart(originalID); |
186 | detstruct._key2[0] = new LSL_Types.key(remoteClient.AgentId.ToString()); | 208 | det[0].LinkNum = originalPart.LinkNum; |
187 | detstruct._string[0] = remoteClient.Name; | ||
188 | detstruct._int[0] = 0; | ||
189 | detstruct._Quaternion[0] = new LSL_Types.Quaternion(0, 0, 0, 1); | ||
190 | detstruct._Vector3[0] = new LSL_Types.Vector3(0, 0, 0); | ||
191 | detstruct._Vector32[0] = new LSL_Types.Vector3(0, 0, 0); | ||
192 | } | 209 | } |
193 | myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "touch_end", detstruct, new object[] { new LSL_Types.LSLInteger(1) }); | 210 | |
211 | myScriptEngine.PostObjectEvent(localID, new EventParams( | ||
212 | "touch_end", new Object[] { new LSL_Types.LSLInteger(1) }, | ||
213 | det)); | ||
194 | } | 214 | } |
195 | 215 | ||
196 | public void OnRezScript(uint localID, UUID itemID, string script, int startParam, bool postOnRez, string engine) | 216 | public void OnRezScript(uint localID, UUID itemID, string script, int startParam, bool postOnRez, string engine) |
@@ -228,7 +248,11 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase | |||
228 | 248 | ||
229 | public void money(uint localID, UUID agentID, int amount) | 249 | public void money(uint localID, UUID agentID, int amount) |
230 | { | 250 | { |
231 | myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "money", EventQueueManager.llDetectNull, new object[] { new LSL_Types.LSLString(agentID.ToString()), new LSL_Types.LSLInteger(amount) }); | 251 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
252 | "money", new object[] { | ||
253 | new LSL_Types.LSLString(agentID.ToString()), | ||
254 | new LSL_Types.LSLInteger(amount) }, | ||
255 | new DetectParams[0])); | ||
232 | } | 256 | } |
233 | 257 | ||
234 | // TODO: Replace placeholders below | 258 | // TODO: Replace placeholders below |
@@ -239,225 +263,196 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase | |||
239 | 263 | ||
240 | public void state_exit(uint localID) | 264 | public void state_exit(uint localID) |
241 | { | 265 | { |
242 | // Add to queue for all scripts in ObjectID object | 266 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
243 | myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "state_exit", EventQueueManager.llDetectNull, new object[] { }); | 267 | "state_exit", new object[] { }, |
244 | } | 268 | new DetectParams[0])); |
245 | |||
246 | public void touch(uint localID, uint originalID, UUID itemID) | ||
247 | { | ||
248 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "touch", EventQueueManager.llDetectNull); | ||
249 | } | ||
250 | |||
251 | public void touch_end(uint localID, uint originalID, UUID itemID) | ||
252 | { | ||
253 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "touch_end", EventQueueManager.llDetectNull, new object[] { new LSL_Types.LSLInteger(1) }); | ||
254 | } | 269 | } |
255 | 270 | ||
256 | public void collision_start(uint localID, ColliderArgs col) | 271 | public void collision_start(uint localID, ColliderArgs col) |
257 | { | 272 | { |
258 | EventQueueManager.Queue_llDetectParams_Struct detstruct = new EventQueueManager.Queue_llDetectParams_Struct(); | 273 | // Add to queue for all scripts in ObjectID object |
259 | detstruct._string = new string[col.Colliders.Count]; | 274 | List<DetectParams> det = new List<DetectParams>(); |
260 | detstruct._Quaternion = new LSL_Types.Quaternion[col.Colliders.Count]; | 275 | |
261 | detstruct._int = new int[col.Colliders.Count]; | ||
262 | detstruct._key = new LSL_Types.key[col.Colliders.Count]; | ||
263 | detstruct._key2 = new LSL_Types.key[col.Colliders.Count]; | ||
264 | detstruct._Vector3 = new LSL_Types.Vector3[col.Colliders.Count]; | ||
265 | detstruct._Vector32 = new LSL_Types.Vector3[col.Colliders.Count]; | ||
266 | detstruct._bool = new bool[col.Colliders.Count]; | ||
267 | |||
268 | int i = 0; | ||
269 | foreach (DetectedObject detobj in col.Colliders) | 276 | foreach (DetectedObject detobj in col.Colliders) |
270 | { | 277 | { |
271 | detstruct._key[i] = new LSL_Types.key(detobj.keyUUID.ToString()); | 278 | DetectParams d = new DetectParams(); |
272 | detstruct._key2[i] = new LSL_Types.key(detobj.ownerUUID.ToString()); | 279 | d.Key =detobj.keyUUID; |
273 | detstruct._Quaternion[i] = new LSL_Types.Quaternion(detobj.rotQuat.X, detobj.rotQuat.Y, detobj.rotQuat.Z, detobj.rotQuat.W); | 280 | d.Populate(myScriptEngine.World); |
274 | detstruct._string[i] = detobj.nameStr; | 281 | det.Add(d); |
275 | detstruct._int[i] = detobj.colliderType; | ||
276 | detstruct._Vector3[i] = new LSL_Types.Vector3(detobj.posVector.X, detobj.posVector.Y, detobj.posVector.Z); | ||
277 | detstruct._Vector32[i] = new LSL_Types.Vector3(detobj.velVector.X, detobj.velVector.Y, detobj.velVector.Z); | ||
278 | detstruct._bool[i] = true; // Apparently the script engine uses this to see if this is a valid entry... | ||
279 | i++; | ||
280 | } | 282 | } |
281 | 283 | ||
282 | myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "collision_start", detstruct, new object[] { new LSL_Types.LSLInteger(col.Colliders.Count) }); | 284 | if (det.Count > 0) |
285 | myScriptEngine.PostObjectEvent(localID, new EventParams( | ||
286 | "collision_start", | ||
287 | new Object[] { new LSL_Types.LSLInteger(det.Count) }, | ||
288 | det.ToArray())); | ||
283 | } | 289 | } |
284 | 290 | ||
285 | public void collision(uint localID, ColliderArgs col) | 291 | public void collision(uint localID, ColliderArgs col) |
286 | { | 292 | { |
287 | EventQueueManager.Queue_llDetectParams_Struct detstruct = new EventQueueManager.Queue_llDetectParams_Struct(); | 293 | // Add to queue for all scripts in ObjectID object |
288 | detstruct._string = new string[col.Colliders.Count]; | 294 | List<DetectParams> det = new List<DetectParams>(); |
289 | detstruct._Quaternion = new LSL_Types.Quaternion[col.Colliders.Count]; | 295 | |
290 | detstruct._int = new int[col.Colliders.Count]; | ||
291 | detstruct._key = new LSL_Types.key[col.Colliders.Count]; | ||
292 | detstruct._key2 = new LSL_Types.key[col.Colliders.Count]; | ||
293 | detstruct._Vector3 = new LSL_Types.Vector3[col.Colliders.Count]; | ||
294 | detstruct._Vector32 = new LSL_Types.Vector3[col.Colliders.Count]; | ||
295 | detstruct._bool = new bool[col.Colliders.Count]; | ||
296 | |||
297 | int i = 0; | ||
298 | foreach (DetectedObject detobj in col.Colliders) | 296 | foreach (DetectedObject detobj in col.Colliders) |
299 | { | 297 | { |
300 | detstruct._key[i] = new LSL_Types.key(detobj.keyUUID.ToString()); | 298 | DetectParams d = new DetectParams(); |
301 | detstruct._key2[i] = new LSL_Types.key(detobj.ownerUUID.ToString()); | 299 | d.Key =detobj.keyUUID; |
302 | detstruct._Quaternion[i] = new LSL_Types.Quaternion(detobj.rotQuat.X, detobj.rotQuat.Y, detobj.rotQuat.Z, detobj.rotQuat.W); | 300 | d.Populate(myScriptEngine.World); |
303 | detstruct._string[i] = detobj.nameStr; | 301 | det.Add(d); |
304 | detstruct._int[i] = detobj.colliderType; | ||
305 | detstruct._Vector3[i] = new LSL_Types.Vector3(detobj.posVector.X, detobj.posVector.Y, detobj.posVector.Z); | ||
306 | detstruct._Vector32[i] = new LSL_Types.Vector3(detobj.velVector.X, detobj.velVector.Y, detobj.velVector.Z); | ||
307 | detstruct._bool[i] = true; // Apparently the script engine uses this to see if this is a valid entry... i++; | ||
308 | } | 302 | } |
309 | myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "collision", detstruct, new object[] { new LSL_Types.LSLInteger(col.Colliders.Count) }); | 303 | |
304 | if (det.Count > 0) | ||
305 | myScriptEngine.PostObjectEvent(localID, new EventParams( | ||
306 | "collision", new Object[] { new LSL_Types.LSLInteger(det.Count) }, | ||
307 | det.ToArray())); | ||
310 | } | 308 | } |
311 | 309 | ||
312 | public void collision_end(uint localID, ColliderArgs col) | 310 | public void collision_end(uint localID, ColliderArgs col) |
313 | { | 311 | { |
314 | EventQueueManager.Queue_llDetectParams_Struct detstruct = new EventQueueManager.Queue_llDetectParams_Struct(); | 312 | // Add to queue for all scripts in ObjectID object |
315 | detstruct._string = new string[col.Colliders.Count]; | 313 | List<DetectParams> det = new List<DetectParams>(); |
316 | detstruct._Quaternion = new LSL_Types.Quaternion[col.Colliders.Count]; | 314 | |
317 | detstruct._int = new int[col.Colliders.Count]; | ||
318 | detstruct._key = new LSL_Types.key[col.Colliders.Count]; | ||
319 | detstruct._key2 = new LSL_Types.key[col.Colliders.Count]; | ||
320 | detstruct._Vector3 = new LSL_Types.Vector3[col.Colliders.Count]; | ||
321 | detstruct._Vector32 = new LSL_Types.Vector3[col.Colliders.Count]; | ||
322 | detstruct._bool = new bool[col.Colliders.Count]; | ||
323 | |||
324 | int i = 0; | ||
325 | foreach (DetectedObject detobj in col.Colliders) | 315 | foreach (DetectedObject detobj in col.Colliders) |
326 | { | 316 | { |
327 | detstruct._key[i] = new LSL_Types.key(detobj.keyUUID.ToString()); | 317 | DetectParams d = new DetectParams(); |
328 | detstruct._key2[i] = new LSL_Types.key(detobj.ownerUUID.ToString()); | 318 | d.Key =detobj.keyUUID; |
329 | detstruct._Quaternion[i] = new LSL_Types.Quaternion(detobj.rotQuat.X, detobj.rotQuat.Y, detobj.rotQuat.Z, detobj.rotQuat.W); | 319 | d.Populate(myScriptEngine.World); |
330 | detstruct._string[i] = detobj.nameStr; | 320 | det.Add(d); |
331 | detstruct._int[i] = detobj.colliderType; | ||
332 | detstruct._Vector3[i] = new LSL_Types.Vector3(detobj.posVector.X, detobj.posVector.Y, detobj.posVector.Z); | ||
333 | detstruct._Vector32[i] = new LSL_Types.Vector3(detobj.velVector.X, detobj.velVector.Y, detobj.velVector.Z); | ||
334 | detstruct._bool[i] = true; // Apparently the script engine uses this to see if this is a valid entry... | ||
335 | i++; | ||
336 | } | 321 | } |
337 | myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "collision_end", EventQueueManager.llDetectNull, new object[] { new LSL_Types.LSLInteger(col.Colliders.Count) }); | 322 | |
323 | if (det.Count > 0) | ||
324 | myScriptEngine.PostObjectEvent(localID, new EventParams( | ||
325 | "collision_end", | ||
326 | new Object[] { new LSL_Types.LSLInteger(det.Count) }, | ||
327 | det.ToArray())); | ||
338 | } | 328 | } |
339 | 329 | ||
340 | public void land_collision_start(uint localID, UUID itemID) | 330 | public void land_collision_start(uint localID, UUID itemID) |
341 | { | 331 | { |
342 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "land_collision_start", EventQueueManager.llDetectNull); | 332 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
333 | "land_collision_start", | ||
334 | new object[0], | ||
335 | new DetectParams[0])); | ||
343 | } | 336 | } |
344 | 337 | ||
345 | public void land_collision(uint localID, ColliderArgs col) | 338 | public void land_collision(uint localID, UUID itemID) |
346 | { | 339 | { |
347 | myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "land_collision", EventQueueManager.llDetectNull); | 340 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
341 | "land_collision", | ||
342 | new object[0], | ||
343 | new DetectParams[0])); | ||
348 | } | 344 | } |
349 | 345 | ||
350 | public void land_collision_end(uint localID, UUID itemID) | 346 | public void land_collision_end(uint localID, UUID itemID) |
351 | { | 347 | { |
352 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "land_collision_end", EventQueueManager.llDetectNull); | 348 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
349 | "land_collision_end", | ||
350 | new object[0], | ||
351 | new DetectParams[0])); | ||
353 | } | 352 | } |
354 | 353 | ||
355 | // Handled by long commands | 354 | // Handled by long commands |
356 | public void timer(uint localID, UUID itemID) | 355 | public void timer(uint localID, UUID itemID) |
357 | { | 356 | { |
358 | //myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, String.Empty); | ||
359 | } | 357 | } |
360 | 358 | ||
361 | public void listen(uint localID, UUID itemID) | 359 | public void listen(uint localID, UUID itemID) |
362 | { | 360 | { |
363 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "listen", EventQueueManager.llDetectNull); | ||
364 | } | ||
365 | |||
366 | public void on_rez(uint localID, UUID itemID) | ||
367 | { | ||
368 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "on_rez", EventQueueManager.llDetectNull); | ||
369 | } | ||
370 | |||
371 | public void sensor(uint localID, UUID itemID) | ||
372 | { | ||
373 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "sensor", EventQueueManager.llDetectNull); | ||
374 | } | ||
375 | |||
376 | public void no_sensor(uint localID, UUID itemID) | ||
377 | { | ||
378 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "no_sensor", EventQueueManager.llDetectNull); | ||
379 | } | 361 | } |
380 | 362 | ||
381 | public void control(uint localID, UUID itemID, UUID agentID, uint held, uint change) | 363 | public void control(uint localID, UUID itemID, UUID agentID, uint held, uint change) |
382 | { | 364 | { |
383 | if ((change == 0) && (myScriptEngine.m_EventQueueManager.CheckEeventQueueForEvent(localID,"control"))) return; | 365 | if ((change == 0) && (myScriptEngine.m_EventQueueManager.CheckEeventQueueForEvent(localID,"control"))) return; |
384 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "control", EventQueueManager.llDetectNull, new object[] { new LSL_Types.LSLString(agentID.ToString()), new LSL_Types.LSLInteger(held), new LSL_Types.LSLInteger(change)}); | 366 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
367 | "control",new object[] { | ||
368 | new LSL_Types.LSLString(agentID.ToString()), | ||
369 | new LSL_Types.LSLInteger(held), | ||
370 | new LSL_Types.LSLInteger(change)}, | ||
371 | new DetectParams[0])); | ||
385 | } | 372 | } |
386 | 373 | ||
387 | public void email(uint localID, UUID itemID) | 374 | public void email(uint localID, UUID itemID, string timeSent, |
375 | string address, string subject, string message, int numLeft) | ||
388 | { | 376 | { |
389 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "email", EventQueueManager.llDetectNull); | 377 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
378 | "email",new object[] { | ||
379 | new LSL_Types.LSLString(timeSent), | ||
380 | new LSL_Types.LSLString(address), | ||
381 | new LSL_Types.LSLString(subject), | ||
382 | new LSL_Types.LSLString(message), | ||
383 | new LSL_Types.LSLInteger(numLeft)}, | ||
384 | new DetectParams[0])); | ||
390 | } | 385 | } |
391 | 386 | ||
392 | public void at_target(uint localID, uint handle, Vector3 targetpos, Vector3 atpos) | 387 | public void at_target(uint localID, uint handle, Vector3 targetpos, |
388 | Vector3 atpos) | ||
393 | { | 389 | { |
394 | myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "at_target", EventQueueManager.llDetectNull, new object[] { new LSL_Types.LSLInteger(handle), new LSL_Types.Vector3(targetpos.X,targetpos.Y,targetpos.Z), new LSL_Types.Vector3(atpos.X,atpos.Y,atpos.Z) }); | 390 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
391 | "at_target", new object[] { | ||
392 | new LSL_Types.LSLInteger(handle), | ||
393 | new LSL_Types.Vector3(targetpos.X,targetpos.Y,targetpos.Z), | ||
394 | new LSL_Types.Vector3(atpos.X,atpos.Y,atpos.Z) }, | ||
395 | new DetectParams[0])); | ||
395 | } | 396 | } |
396 | 397 | ||
397 | public void not_at_target(uint localID) | 398 | public void not_at_target(uint localID) |
398 | { | 399 | { |
399 | myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "not_at_target", EventQueueManager.llDetectNull); | 400 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
401 | "not_at_target",new object[0], | ||
402 | new DetectParams[0])); | ||
400 | } | 403 | } |
401 | 404 | ||
402 | public void at_rot_target(uint localID, UUID itemID) | 405 | public void at_rot_target(uint localID, UUID itemID) |
403 | { | 406 | { |
404 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "at_rot_target", EventQueueManager.llDetectNull); | 407 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
408 | "at_rot_target",new object[0], | ||
409 | new DetectParams[0])); | ||
405 | } | 410 | } |
406 | 411 | ||
407 | public void not_at_rot_target(uint localID, UUID itemID) | 412 | public void not_at_rot_target(uint localID, UUID itemID) |
408 | { | 413 | { |
409 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "not_at_rot_target", EventQueueManager.llDetectNull); | 414 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
410 | } | 415 | "not_at_rot_target",new object[0], |
411 | 416 | new DetectParams[0])); | |
412 | public void run_time_permissions(uint localID, UUID itemID) | ||
413 | { | ||
414 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "run_time_permissions", EventQueueManager.llDetectNull); | ||
415 | } | ||
416 | |||
417 | public void changed(uint localID, UUID itemID) | ||
418 | { | ||
419 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "changed", EventQueueManager.llDetectNull); | ||
420 | } | 417 | } |
421 | 418 | ||
422 | public void attach(uint localID, UUID itemID) | 419 | public void attach(uint localID, UUID itemID) |
423 | { | 420 | { |
424 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "attach", EventQueueManager.llDetectNull); | ||
425 | } | 421 | } |
426 | 422 | ||
427 | public void dataserver(uint localID, UUID itemID) | 423 | public void dataserver(uint localID, UUID itemID) |
428 | { | 424 | { |
429 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "dataserver", EventQueueManager.llDetectNull); | ||
430 | } | 425 | } |
431 | 426 | ||
432 | public void link_message(uint localID, UUID itemID) | 427 | public void link_message(uint localID, UUID itemID) |
433 | { | 428 | { |
434 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "link_message", EventQueueManager.llDetectNull); | ||
435 | } | 429 | } |
436 | 430 | ||
437 | public void moving_start(uint localID, UUID itemID) | 431 | public void moving_start(uint localID, UUID itemID) |
438 | { | 432 | { |
439 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "moving_start", EventQueueManager.llDetectNull); | 433 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
434 | "moving_start",new object[0], | ||
435 | new DetectParams[0])); | ||
440 | } | 436 | } |
441 | 437 | ||
442 | public void moving_end(uint localID, UUID itemID) | 438 | public void moving_end(uint localID, UUID itemID) |
443 | { | 439 | { |
444 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "moving_end", EventQueueManager.llDetectNull); | 440 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
441 | "moving_end",new object[0], | ||
442 | new DetectParams[0])); | ||
445 | } | 443 | } |
446 | 444 | ||
447 | public void object_rez(uint localID, UUID itemID) | 445 | public void object_rez(uint localID, UUID itemID) |
448 | { | 446 | { |
449 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "object_rez", EventQueueManager.llDetectNull); | ||
450 | } | 447 | } |
451 | 448 | ||
452 | public void remote_data(uint localID, UUID itemID) | 449 | public void remote_data(uint localID, UUID itemID) |
453 | { | 450 | { |
454 | myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "remote_data", EventQueueManager.llDetectNull); | ||
455 | } | 451 | } |
456 | 452 | ||
457 | // Handled by long commands | 453 | // Handled by long commands |
458 | public void http_response(uint localID, UUID itemID) | 454 | public void http_response(uint localID, UUID itemID) |
459 | { | 455 | { |
460 | // myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "http_response", EventQueueManager.llDetectNull); | ||
461 | } | 456 | } |
462 | 457 | ||
463 | /// <summary> | 458 | /// <summary> |