aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-01-31 23:03:39 +0000
committerJustin Clark-Casey (justincc)2012-01-31 23:03:39 +0000
commitab89adfaefb7c2858cb2f90f783c010157d980a7 (patch)
tree42d4c7cc15d82e8756507cf86b5b2d0407d10825 /OpenSim
parentAdd more user feedback if an object isn't found for which delete was requested. (diff)
downloadopensim-SC-ab89adfaefb7c2858cb2f90f783c010157d980a7.zip
opensim-SC-ab89adfaefb7c2858cb2f90f783c010157d980a7.tar.gz
opensim-SC-ab89adfaefb7c2858cb2f90f783c010157d980a7.tar.bz2
opensim-SC-ab89adfaefb7c2858cb2f90f783c010157d980a7.tar.xz
Implement "show object uuid <uuid>" console command.
This will show details about a part with the given uuid if it's found.
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs61
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs6
2 files changed, 62 insertions, 5 deletions
diff --git a/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs b/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs
index 78f86cc..b378f7a 100644
--- a/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs
+++ b/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs
@@ -80,19 +80,33 @@ namespace OpenSim.Region.CoreModules.World.Objects.Commands
80 80
81 m_console.Commands.AddCommand("region", false, "delete object owner", 81 m_console.Commands.AddCommand("region", false, "delete object owner",
82 "delete object owner <UUID>", 82 "delete object owner <UUID>",
83 "Delete object by owner", HandleDeleteObject); 83 "Delete a scene object by owner", HandleDeleteObject);
84 m_console.Commands.AddCommand("region", false, "delete object creator", 84 m_console.Commands.AddCommand("region", false, "delete object creator",
85 "delete object creator <UUID>", 85 "delete object creator <UUID>",
86 "Delete object by creator", HandleDeleteObject); 86 "Delete a scene object by creator", HandleDeleteObject);
87 m_console.Commands.AddCommand("region", false, "delete object uuid", 87 m_console.Commands.AddCommand("region", false, "delete object uuid",
88 "delete object uuid <UUID>", 88 "delete object uuid <UUID>",
89 "Delete object by uuid", HandleDeleteObject); 89 "Delete a scene object by uuid", HandleDeleteObject);
90 m_console.Commands.AddCommand("region", false, "delete object name", 90 m_console.Commands.AddCommand("region", false, "delete object name",
91 "delete object name <name>", 91 "delete object name <name>",
92 "Delete object by name", HandleDeleteObject); 92 "Delete a scene object by name", HandleDeleteObject);
93 m_console.Commands.AddCommand("region", false, "delete object outside", 93 m_console.Commands.AddCommand("region", false, "delete object outside",
94 "delete object outside", 94 "delete object outside",
95 "Delete all objects outside boundaries", HandleDeleteObject); 95 "Delete all scene objects outside region boundaries", HandleDeleteObject);
96
97 m_console.Commands.AddCommand(
98 "region",
99 false,
100 "show object uuid",
101 "show object uuid <UUID>",
102 "Show details of a scene object with the given UUID", HandleShowObjectByUuid);
103
104// m_console.Commands.AddCommand(
105// "region",
106// false,
107// "show object name <UUID>",
108// "show object name <UUID>",
109// "Show details of scene objects with the given name", HandleShowObjectName);
96 } 110 }
97 111
98 public void RemoveRegion(Scene scene) 112 public void RemoveRegion(Scene scene)
@@ -105,6 +119,43 @@ namespace OpenSim.Region.CoreModules.World.Objects.Commands
105// m_log.DebugFormat("[OBJECTS COMMANDS MODULE]: REGION {0} LOADED", scene.RegionInfo.RegionName); 119// m_log.DebugFormat("[OBJECTS COMMANDS MODULE]: REGION {0} LOADED", scene.RegionInfo.RegionName);
106 } 120 }
107 121
122 private void HandleShowObjectByUuid(string module, string[] cmd)
123 {
124 if (!(m_console.ConsoleScene == null || m_console.ConsoleScene == m_scene))
125 return;
126
127 if (cmd.Length < 4)
128 {
129 m_console.OutputFormat("Usage: show object uuid <uuid>");
130 return;
131 }
132
133 UUID objectUuid;
134 if (!UUID.TryParse(cmd[3], out objectUuid))
135 {
136 m_console.OutputFormat("{0} is not a valid uuid", cmd[3]);
137 return;
138 }
139
140 SceneObjectPart sop = m_scene.GetSceneObjectPart(objectUuid);
141
142 if (sop == null)
143 {
144 m_console.OutputFormat("No object found with uuid {0}", objectUuid);
145 return;
146 }
147
148 StringBuilder sb = new StringBuilder();
149 sb.AppendFormat("Name: {0}\n", sop.Name);
150 sb.AppendFormat("Description: {0}\n", sop.Description);
151 sb.AppendFormat("Location: {0} @ {1}\n", sop.AbsolutePosition, sop.ParentGroup.Scene.RegionInfo.RegionName);
152 sb.AppendFormat("Parent: {0}",
153 sop.IsRoot ? "Is Root\n" : string.Format("{0} {1}\n", sop.ParentGroup.Name, sop.ParentGroup.UUID));
154 sb.AppendFormat("Parts: {0}", sop.IsRoot ? "1" : sop.ParentGroup.PrimCount.ToString());
155
156 m_console.OutputFormat(sb.ToString());
157 }
158
108 private void HandleDeleteObject(string module, string[] cmd) 159 private void HandleDeleteObject(string module, string[] cmd)
109 { 160 {
110 if (!(m_console.ConsoleScene == null || m_console.ConsoleScene == m_scene)) 161 if (!(m_console.ConsoleScene == null || m_console.ConsoleScene == m_scene))
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 739c5fa..e7f2fdb 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -264,6 +264,12 @@ namespace OpenSim.Region.Framework.Scenes
264 set { RootPart.Name = value; } 264 set { RootPart.Name = value; }
265 } 265 }
266 266
267 public string Description
268 {
269 get { return RootPart.Description; }
270 set { RootPart.Description = value; }
271 }
272
267 /// <summary> 273 /// <summary>
268 /// Added because the Parcel code seems to use it 274 /// Added because the Parcel code seems to use it
269 /// but not sure a object should have this 275 /// but not sure a object should have this