2025-05-27 14:16:03 -05:00
|
|
|
using System.Linq;
|
|
|
|
|
|
2008-07-21 21:12:59 +00:00
|
|
|
namespace OpenMetaverse.TestClient
|
2007-04-28 20:54:02 +00:00
|
|
|
{
|
|
|
|
|
public class TouchCommand: Command
|
|
|
|
|
{
|
|
|
|
|
public TouchCommand(TestClient testClient)
|
|
|
|
|
{
|
|
|
|
|
Name = "touch";
|
|
|
|
|
Description = "Attempt to touch a prim with specified UUID";
|
2008-07-25 08:55:36 +00:00
|
|
|
Category = CommandCategory.Objects;
|
2007-04-28 20:54:02 +00:00
|
|
|
}
|
|
|
|
|
|
2008-07-25 05:15:05 +00:00
|
|
|
public override string Execute(string[] args, UUID fromAgentID)
|
2007-04-28 20:54:02 +00:00
|
|
|
{
|
2007-08-20 09:26:21 +00:00
|
|
|
if (args.Length != 1)
|
2025-05-27 14:16:03 -05:00
|
|
|
{
|
2007-08-20 09:26:21 +00:00
|
|
|
return "Usage: touch UUID";
|
2025-05-27 14:16:03 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!UUID.TryParse(args[0], out var target))
|
2007-08-20 09:26:21 +00:00
|
|
|
{
|
2025-05-27 14:16:03 -05:00
|
|
|
return $"{args[0]} is not a valid UUID";
|
|
|
|
|
}
|
|
|
|
|
var targetPrim = Client.Network.CurrentSim.ObjectsPrimitives.FirstOrDefault(prim => prim.Value.ID == target);
|
2007-08-29 08:55:53 +00:00
|
|
|
|
2025-05-27 14:16:03 -05:00
|
|
|
if (targetPrim.Value == null)
|
|
|
|
|
{
|
|
|
|
|
return $"Couldn't find an object to touch with UUID {args[0]}";
|
2007-04-28 20:54:02 +00:00
|
|
|
}
|
2007-08-20 09:26:21 +00:00
|
|
|
|
2025-05-27 14:16:03 -05:00
|
|
|
Client.Self.Touch(targetPrim.Value.LocalID);
|
|
|
|
|
return $"Touched object {targetPrim.Value.LocalID}";
|
|
|
|
|
|
|
|
|
|
}
|
2007-04-28 20:54:02 +00:00
|
|
|
}
|
2008-01-03 21:55:49 +00:00
|
|
|
}
|