aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World/Objects
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/Region/CoreModules/World/Objects
parentAdd more user feedback if an object isn't found for which delete was requested. (diff)
downloadopensim-SC_OLD-ab89adfaefb7c2858cb2f90f783c010157d980a7.zip
opensim-SC_OLD-ab89adfaefb7c2858cb2f90f783c010157d980a7.tar.gz
opensim-SC_OLD-ab89adfaefb7c2858cb2f90f783c010157d980a7.tar.bz2
opensim-SC_OLD-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/Region/CoreModules/World/Objects')
-rw-r--r--OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs61
1 files changed, 56 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))