2007-09-06 04:17:45 +00:00
|
|
|
using System;
|
2009-08-03 22:27:00 +00:00
|
|
|
using System.Threading;
|
2007-09-06 04:17:45 +00:00
|
|
|
|
2008-07-21 21:12:59 +00:00
|
|
|
namespace OpenMetaverse.TestClient
|
2007-09-06 04:17:45 +00:00
|
|
|
{
|
|
|
|
|
public class PrimInfoCommand : Command
|
|
|
|
|
{
|
|
|
|
|
public PrimInfoCommand(TestClient testClient)
|
|
|
|
|
{
|
|
|
|
|
Name = "priminfo";
|
|
|
|
|
Description = "Dumps information about a specified prim. " + "Usage: priminfo [prim-uuid]";
|
2008-07-25 08:55:36 +00:00
|
|
|
Category = CommandCategory.Objects;
|
2007-09-06 04:17:45 +00:00
|
|
|
}
|
|
|
|
|
|
2008-07-25 05:15:05 +00:00
|
|
|
public override string Execute(string[] args, UUID fromAgentID)
|
2007-09-06 04:17:45 +00:00
|
|
|
{
|
2008-07-25 05:15:05 +00:00
|
|
|
UUID primID;
|
2007-09-06 04:17:45 +00:00
|
|
|
|
|
|
|
|
if (args.Length != 1)
|
|
|
|
|
return "Usage: priminfo [prim-uuid]";
|
|
|
|
|
|
2008-07-25 05:15:05 +00:00
|
|
|
if (UUID.TryParse(args[0], out primID))
|
2007-09-06 04:17:45 +00:00
|
|
|
{
|
2008-01-03 21:55:49 +00:00
|
|
|
Primitive target = Client.Network.CurrentSim.ObjectsPrimitives.Find(
|
2020-05-09 12:59:06 -05:00
|
|
|
prim => prim.ID == primID
|
2007-09-06 04:17:45 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
if (target != null)
|
|
|
|
|
{
|
2022-02-25 19:38:11 -06:00
|
|
|
if (target.Text != string.Empty)
|
2009-10-27 07:01:48 +00:00
|
|
|
{
|
|
|
|
|
Logger.Log("Text: " + target.Text, Helpers.LogLevel.Info, Client);
|
|
|
|
|
}
|
2009-07-21 23:53:01 +00:00
|
|
|
if(target.Light != null)
|
2022-02-25 19:38:11 -06:00
|
|
|
Logger.Log("Light: " + target.Light, Helpers.LogLevel.Info, Client);
|
2007-12-04 18:50:44 +00:00
|
|
|
|
|
|
|
|
if (target.ParticleSys.CRC != 0)
|
2022-02-25 19:38:11 -06:00
|
|
|
Logger.Log("Particles: " + target.ParticleSys, Helpers.LogLevel.Info, Client);
|
2007-12-04 18:50:44 +00:00
|
|
|
|
2008-05-06 23:57:26 +00:00
|
|
|
Logger.Log("TextureEntry:", Helpers.LogLevel.Info, Client);
|
2007-09-06 04:17:45 +00:00
|
|
|
if (target.Textures != null)
|
|
|
|
|
{
|
2022-02-25 19:38:11 -06:00
|
|
|
Logger.Log($"Default texure: {target.Textures.DefaultTexture.TextureID.ToString()}",
|
2008-05-14 12:10:58 +00:00
|
|
|
Helpers.LogLevel.Info);
|
|
|
|
|
|
2007-09-06 04:17:45 +00:00
|
|
|
for (int i = 0; i < target.Textures.FaceTextures.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
if (target.Textures.FaceTextures[i] != null)
|
|
|
|
|
{
|
2022-02-25 19:38:11 -06:00
|
|
|
Logger.Log($"Face {i}: {target.Textures.FaceTextures[i].TextureID.ToString()}",
|
2008-05-06 23:57:26 +00:00
|
|
|
Helpers.LogLevel.Info, Client);
|
2007-09-06 04:17:45 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2008-05-06 23:57:26 +00:00
|
|
|
Logger.Log("null", Helpers.LogLevel.Info, Client);
|
2007-09-06 04:17:45 +00:00
|
|
|
}
|
|
|
|
|
|
2009-08-03 22:27:00 +00:00
|
|
|
AutoResetEvent propsEvent = new AutoResetEvent(false);
|
2009-10-26 06:03:26 +00:00
|
|
|
EventHandler<ObjectPropertiesEventArgs> propsCallback =
|
|
|
|
|
delegate(object sender, ObjectPropertiesEventArgs e)
|
2009-08-03 22:27:00 +00:00
|
|
|
{
|
2022-02-25 19:38:11 -06:00
|
|
|
Logger.Log(
|
|
|
|
|
$"Category: {e.Properties.Category}\nFolderID: {e.Properties.FolderID}\nFromTaskID: {e.Properties.FromTaskID}\nInventorySerial: {e.Properties.InventorySerial}\nItemID: {e.Properties.ItemID}\nCreationDate: {e.Properties.CreationDate}", Helpers.LogLevel.Info);
|
2009-08-03 22:27:00 +00:00
|
|
|
propsEvent.Set();
|
|
|
|
|
};
|
|
|
|
|
|
2009-10-26 06:03:26 +00:00
|
|
|
Client.Objects.ObjectProperties += propsCallback;
|
2009-08-03 22:27:00 +00:00
|
|
|
|
|
|
|
|
Client.Objects.SelectObject(Client.Network.CurrentSim, target.LocalID, true);
|
|
|
|
|
|
2025-01-13 07:44:05 -06:00
|
|
|
propsEvent.WaitOne(TimeSpan.FromSeconds(10), false);
|
2009-10-26 06:03:26 +00:00
|
|
|
Client.Objects.ObjectProperties -= propsCallback;
|
2009-08-03 22:27:00 +00:00
|
|
|
|
2007-09-06 04:17:45 +00:00
|
|
|
return "Done.";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2022-02-25 19:38:11 -06:00
|
|
|
return "Could not find prim " + primID;
|
2007-09-06 04:17:45 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return "Usage: priminfo [prim-uuid]";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|