diff options
author | Diva Canto | 2010-06-11 12:48:06 -0700 |
---|---|---|
committer | Diva Canto | 2010-06-11 12:48:06 -0700 |
commit | 556e91d33cad4e7b4b0c57b4010e77cd4ab27773 (patch) | |
tree | ef9078ae7cdb04a5f99ac920832e8d2161df6b6b /OpenSim/Region/ScriptEngine/Shared/Api/Implementation | |
parent | Inventory offers and subsequent notifications of acceptance/decline now worki... (diff) | |
parent | Add the AllowLightShareFunctions example (diff) | |
download | opensim-SC_OLD-556e91d33cad4e7b4b0c57b4010e77cd4ab27773.zip opensim-SC_OLD-556e91d33cad4e7b4b0c57b4010e77cd4ab27773.tar.gz opensim-SC_OLD-556e91d33cad4e7b4b0c57b4010e77cd4ab27773.tar.bz2 opensim-SC_OLD-556e91d33cad4e7b4b0c57b4010e77cd4ab27773.tar.xz |
Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LS_Api.cs (renamed from OpenSim/Region/ScriptEngine/Shared/Api/Implementation/CM_Api.cs) | 38 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 27 |
2 files changed, 46 insertions, 19 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/CM_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LS_Api.cs index 880ca1b..fe71ed5 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/CM_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LS_Api.cs | |||
@@ -54,13 +54,13 @@ using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3; | |||
54 | namespace OpenSim.Region.ScriptEngine.Shared.Api | 54 | namespace OpenSim.Region.ScriptEngine.Shared.Api |
55 | { | 55 | { |
56 | [Serializable] | 56 | [Serializable] |
57 | public class CM_Api : MarshalByRefObject, ICM_Api, IScriptApi | 57 | public class LS_Api : MarshalByRefObject, ILS_Api, IScriptApi |
58 | { | 58 | { |
59 | internal IScriptEngine m_ScriptEngine; | 59 | internal IScriptEngine m_ScriptEngine; |
60 | internal SceneObjectPart m_host; | 60 | internal SceneObjectPart m_host; |
61 | internal uint m_localID; | 61 | internal uint m_localID; |
62 | internal UUID m_itemID; | 62 | internal UUID m_itemID; |
63 | internal bool m_CMFunctionsEnabled = false; | 63 | internal bool m_LSFunctionsEnabled = false; |
64 | internal IScriptModuleComms m_comms = null; | 64 | internal IScriptModuleComms m_comms = null; |
65 | 65 | ||
66 | public void Initialize(IScriptEngine ScriptEngine, SceneObjectPart host, uint localID, UUID itemID) | 66 | public void Initialize(IScriptEngine ScriptEngine, SceneObjectPart host, uint localID, UUID itemID) |
@@ -70,12 +70,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
70 | m_localID = localID; | 70 | m_localID = localID; |
71 | m_itemID = itemID; | 71 | m_itemID = itemID; |
72 | 72 | ||
73 | if (m_ScriptEngine.Config.GetBoolean("AllowCareminsterFunctions", false)) | 73 | if (m_ScriptEngine.Config.GetBoolean("AllowLightShareFunctions", false)) |
74 | m_CMFunctionsEnabled = true; | 74 | m_LSFunctionsEnabled = true; |
75 | 75 | ||
76 | m_comms = m_ScriptEngine.World.RequestModuleInterface<IScriptModuleComms>(); | 76 | m_comms = m_ScriptEngine.World.RequestModuleInterface<IScriptModuleComms>(); |
77 | if (m_comms == null) | 77 | if (m_comms == null) |
78 | m_CMFunctionsEnabled = false; | 78 | m_LSFunctionsEnabled = false; |
79 | } | 79 | } |
80 | 80 | ||
81 | public override Object InitializeLifetimeService() | 81 | public override Object InitializeLifetimeService() |
@@ -100,7 +100,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
100 | //Dumps an error message on the debug console. | 100 | //Dumps an error message on the debug console. |
101 | // | 101 | // |
102 | 102 | ||
103 | internal void CMShoutError(string message) | 103 | internal void LSShoutError(string message) |
104 | { | 104 | { |
105 | if (message.Length > 1023) | 105 | if (message.Length > 1023) |
106 | message = message.Substring(0, 1023); | 106 | message = message.Substring(0, 1023); |
@@ -116,11 +116,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
116 | /// Get the current Windlight scene | 116 | /// Get the current Windlight scene |
117 | /// </summary> | 117 | /// </summary> |
118 | /// <returns>List of windlight parameters</returns> | 118 | /// <returns>List of windlight parameters</returns> |
119 | public LSL_List cmGetWindlightScene(LSL_List rules) | 119 | public LSL_List lsGetWindlightScene(LSL_List rules) |
120 | { | 120 | { |
121 | if (!m_CMFunctionsEnabled) | 121 | if (!m_LSFunctionsEnabled) |
122 | { | 122 | { |
123 | CMShoutError("Careminster functions are not enabled."); | 123 | LSShoutError("LightShare functions are not enabled."); |
124 | return new LSL_List(); | 124 | return new LSL_List(); |
125 | } | 125 | } |
126 | m_host.AddScriptLPS(1); | 126 | m_host.AddScriptLPS(1); |
@@ -440,16 +440,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
440 | /// </summary> | 440 | /// </summary> |
441 | /// <param name="rules"></param> | 441 | /// <param name="rules"></param> |
442 | /// <returns>success: true or false</returns> | 442 | /// <returns>success: true or false</returns> |
443 | public int cmSetWindlightScene(LSL_List rules) | 443 | public int lsSetWindlightScene(LSL_List rules) |
444 | { | 444 | { |
445 | if (!m_CMFunctionsEnabled) | 445 | if (!m_LSFunctionsEnabled) |
446 | { | 446 | { |
447 | CMShoutError("Careminster functions are not enabled."); | 447 | LSShoutError("LightShare functions are not enabled."); |
448 | return 0; | 448 | return 0; |
449 | } | 449 | } |
450 | if (!World.RegionInfo.EstateSettings.IsEstateManager(m_host.OwnerID) && World.GetScenePresence(m_host.OwnerID).GodLevel < 200) | 450 | if (!World.RegionInfo.EstateSettings.IsEstateManager(m_host.OwnerID) && World.GetScenePresence(m_host.OwnerID).GodLevel < 200) |
451 | { | 451 | { |
452 | CMShoutError("cmSetWindlightScene can only be used by estate managers or owners."); | 452 | LSShoutError("lsSetWindlightScene can only be used by estate managers or owners."); |
453 | return 0; | 453 | return 0; |
454 | } | 454 | } |
455 | int success = 0; | 455 | int success = 0; |
@@ -462,7 +462,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
462 | } | 462 | } |
463 | else | 463 | else |
464 | { | 464 | { |
465 | CMShoutError("Windlight module is disabled"); | 465 | LSShoutError("Windlight module is disabled"); |
466 | return 0; | 466 | return 0; |
467 | } | 467 | } |
468 | return success; | 468 | return success; |
@@ -472,16 +472,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
472 | /// </summary> | 472 | /// </summary> |
473 | /// <param name="rules"></param> | 473 | /// <param name="rules"></param> |
474 | /// <returns>success: true or false</returns> | 474 | /// <returns>success: true or false</returns> |
475 | public int cmSetWindlightSceneTargeted(LSL_List rules, LSL_Key target) | 475 | public int lsSetWindlightSceneTargeted(LSL_List rules, LSL_Key target) |
476 | { | 476 | { |
477 | if (!m_CMFunctionsEnabled) | 477 | if (!m_LSFunctionsEnabled) |
478 | { | 478 | { |
479 | CMShoutError("Careminster functions are not enabled."); | 479 | LSShoutError("LightShare functions are not enabled."); |
480 | return 0; | 480 | return 0; |
481 | } | 481 | } |
482 | if (!World.RegionInfo.EstateSettings.IsEstateManager(m_host.OwnerID) && World.GetScenePresence(m_host.OwnerID).GodLevel < 200) | 482 | if (!World.RegionInfo.EstateSettings.IsEstateManager(m_host.OwnerID) && World.GetScenePresence(m_host.OwnerID).GodLevel < 200) |
483 | { | 483 | { |
484 | CMShoutError("cmSetWindlightSceneTargeted can only be used by estate managers or owners."); | 484 | LSShoutError("lsSetWindlightSceneTargeted can only be used by estate managers or owners."); |
485 | return 0; | 485 | return 0; |
486 | } | 486 | } |
487 | int success = 0; | 487 | int success = 0; |
@@ -494,7 +494,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
494 | } | 494 | } |
495 | else | 495 | else |
496 | { | 496 | { |
497 | CMShoutError("Windlight module is disabled"); | 497 | LSShoutError("Windlight module is disabled"); |
498 | return 0; | 498 | return 0; |
499 | } | 499 | } |
500 | return success; | 500 | return success; |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index dde664e..cd6d3a3 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -2202,5 +2202,32 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2202 | 2202 | ||
2203 | m_LSL_Api.SetPrimitiveParamsEx(prim, rules); | 2203 | m_LSL_Api.SetPrimitiveParamsEx(prim, rules); |
2204 | } | 2204 | } |
2205 | |||
2206 | /// <summary> | ||
2207 | /// Like osGetAgents but returns enough info for a radar | ||
2208 | /// </summary> | ||
2209 | /// <returns>Strided list of the UUID, position and name of each avatar in the region</returns> | ||
2210 | public LSL_List osGetAvatarList() | ||
2211 | { | ||
2212 | CheckThreatLevel(ThreatLevel.None, "osGetAvatarList"); | ||
2213 | |||
2214 | LSL_List result = new LSL_List(); | ||
2215 | World.ForEachScenePresence(delegate (ScenePresence avatar) | ||
2216 | { | ||
2217 | if (avatar != null && avatar.UUID != m_host.OwnerID) | ||
2218 | { | ||
2219 | if (avatar.IsChildAgent == false) | ||
2220 | { | ||
2221 | if (avatar.PhysicsActor != null && avatar.PhysicsActor.Position != null) | ||
2222 | { | ||
2223 | result.Add(avatar.UUID); | ||
2224 | result.Add(avatar.PhysicsActor.Position); | ||
2225 | result.Add(avatar.Name); | ||
2226 | } | ||
2227 | } | ||
2228 | } | ||
2229 | }); | ||
2230 | return result; | ||
2231 | } | ||
2205 | } | 2232 | } |
2206 | } | 2233 | } |