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 /OpenSim/Region/Environment/Scenes/scripting | |
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.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/scripting')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/scripting/Engines/CSharpEngine/Examples/ExportRegionToLSL.cs | 44 |
1 files changed, 41 insertions, 3 deletions
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 |