diff options
author | Adam Frisby | 2007-07-15 22:36:35 +0000 |
---|---|---|
committer | Adam Frisby | 2007-07-15 22:36:35 +0000 |
commit | 571bd78e587c409a3fcba4a8ec48c0187843997d (patch) | |
tree | 8f66e1c33871c4ab7063d531f26ee6e53adb4597 | |
parent | It wasn't me who messed up flying when adding a test NPC class. (honestly!) (diff) | |
download | opensim-SC_OLD-571bd78e587c409a3fcba4a8ec48c0187843997d.zip opensim-SC_OLD-571bd78e587c409a3fcba4a8ec48c0187843997d.tar.gz opensim-SC_OLD-571bd78e587c409a3fcba4a8ec48c0187843997d.tar.bz2 opensim-SC_OLD-571bd78e587c409a3fcba4a8ec48c0187843997d.tar.xz |
* More scripting enhancemnents and properties.
4 files changed, 62 insertions, 3 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Primitive.cs b/OpenSim/Region/Environment/Scenes/Primitive.cs index 23dcf6e..0e5b083 100644 --- a/OpenSim/Region/Environment/Scenes/Primitive.cs +++ b/OpenSim/Region/Environment/Scenes/Primitive.cs | |||
@@ -81,6 +81,14 @@ namespace OpenSim.Region.Environment.Scenes | |||
81 | 81 | ||
82 | } | 82 | } |
83 | 83 | ||
84 | public PrimitiveBaseShape Shape | ||
85 | { | ||
86 | get | ||
87 | { | ||
88 | return this.m_Shape; | ||
89 | } | ||
90 | } | ||
91 | |||
84 | public LLVector3 WorldPos | 92 | public LLVector3 WorldPos |
85 | { | 93 | { |
86 | get | 94 | get |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index aa08172..5e2e494 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -112,6 +112,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
112 | get { return m_scriptManager; } | 112 | get { return m_scriptManager; } |
113 | } | 113 | } |
114 | 114 | ||
115 | public Dictionary<LLUUID, SceneObject> Objects | ||
116 | { | ||
117 | get { return Prims; } | ||
118 | } | ||
119 | |||
115 | #endregion | 120 | #endregion |
116 | 121 | ||
117 | #region Constructors | 122 | #region Constructors |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObject.cs b/OpenSim/Region/Environment/Scenes/SceneObject.cs index c925584..8de7cdb 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObject.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObject.cs | |||
@@ -75,6 +75,14 @@ namespace OpenSim.Region.Environment.Scenes | |||
75 | } | 75 | } |
76 | } | 76 | } |
77 | 77 | ||
78 | public Dictionary<LLUUID, Primitive> Children | ||
79 | { | ||
80 | get | ||
81 | { | ||
82 | return this.ChildPrimitives; | ||
83 | } | ||
84 | } | ||
85 | |||
78 | /// <summary> | 86 | /// <summary> |
79 | /// | 87 | /// |
80 | /// </summary> | 88 | /// </summary> |
diff --git a/OpenSim/Region/Environment/Scenes/scripting/Engines/CSharpEngine/Examples/ExportRegionToLSL.cs b/OpenSim/Region/Environment/Scenes/scripting/Engines/CSharpEngine/Examples/ExportRegionToLSL.cs index 4cc2c96..d9f1f0a 100644 --- a/OpenSim/Region/Environment/Scenes/scripting/Engines/CSharpEngine/Examples/ExportRegionToLSL.cs +++ b/OpenSim/Region/Environment/Scenes/scripting/Engines/CSharpEngine/Examples/ExportRegionToLSL.cs | |||
@@ -3,6 +3,9 @@ using OpenSim.Framework; | |||
3 | using OpenSim.Region.Environment; | 3 | using OpenSim.Region.Environment; |
4 | using OpenSim.Region.Environment.Scenes; | 4 | using OpenSim.Region.Environment.Scenes; |
5 | 5 | ||
6 | using System.Collections.Generic; | ||
7 | using libsecondlife; | ||
8 | |||
6 | namespace OpenSim.Region.Scripting.Examples | 9 | namespace OpenSim.Region.Scripting.Examples |
7 | { | 10 | { |
8 | public class LSLExportScript : IScript | 11 | public class LSLExportScript : IScript |
@@ -18,15 +21,50 @@ namespace OpenSim.Region.Scripting.Examples | |||
18 | { | 21 | { |
19 | script = scriptInfo; | 22 | script = scriptInfo; |
20 | 23 | ||
21 | script.events.OnScriptConsole += new EventManager.OnScriptConsoleDelegate(events_OnScriptConsole); | 24 | script.events.OnScriptConsole += new EventManager.OnScriptConsoleDelegate(ProcessConsoleMsg); |
22 | } | 25 | } |
23 | 26 | ||
24 | void events_OnScriptConsole(string[] args) | 27 | void ProcessConsoleMsg(string[] args) |
25 | { | 28 | { |
26 | if (args[0].ToLower() == "lslexport") | 29 | if (args[0].ToLower() == "lslexport") |
27 | { | 30 | { |
28 | 31 | string sequence = ""; | |
32 | |||
33 | foreach (KeyValuePair<LLUUID, SceneObject> obj in script.world.Objects) | ||
34 | { | ||
35 | SceneObject root = obj.Value; | ||
36 | |||
37 | sequence += "NEWOBJ::" + obj.Key.ToStringHyphenated() + "\n"; | ||
38 | |||
39 | string rootPrim = processPrimitiveToString(root.rootPrimitive); | ||
40 | |||
41 | sequence += "ROOT:" + rootPrim; | ||
42 | |||
43 | foreach (KeyValuePair<LLUUID, OpenSim.Region.Environment.Scenes.Primitive> prim in root.Children) | ||
44 | { | ||
45 | string child = processPrimitiveToString(prim.Value); | ||
46 | sequence += "CHILD:" + child; | ||
47 | } | ||
48 | } | ||
49 | |||
50 | System.Console.WriteLine(sequence); | ||
29 | } | 51 | } |
30 | } | 52 | } |
53 | |||
54 | string processPrimitiveToString(OpenSim.Region.Environment.Scenes.Primitive prim) | ||
55 | { | ||
56 | string desc = prim.Description; | ||
57 | string name = prim.Name; | ||
58 | LLVector3 pos = prim.Pos; | ||
59 | LLVector3 rot = new LLVector3(); | ||
60 | LLVector3 scale = prim.Scale; | ||
61 | LLVector3 rootPos = prim.WorldPos; | ||
62 | |||
63 | string setPrimParams = ""; | ||
64 | |||
65 | setPrimParams += "[PRIM_SCALE, " + scale.ToString() + ", PRIM_POS, " + rootPos.ToString() + ", PRIM_ROTATION, " + rot.ToString() + "]\n"; | ||
66 | |||
67 | return setPrimParams; | ||
68 | } | ||
31 | } | 69 | } |
32 | } \ No newline at end of file | 70 | } \ No newline at end of file |