aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/scripting
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/scripting')
-rw-r--r--OpenSim/Region/Environment/Scenes/scripting/Engines/CSharpEngine/Examples/ExportRegionToLSL.cs44
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;
3using OpenSim.Region.Environment; 3using OpenSim.Region.Environment;
4using OpenSim.Region.Environment.Scenes; 4using OpenSim.Region.Environment.Scenes;
5 5
6using System.Collections.Generic;
7using libsecondlife;
8
6namespace OpenSim.Region.Scripting.Examples 9namespace 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