Files
libremetaverse/Programs/examples/TestClient/Commands/Prims/FindTextureCommand.cs

50 lines
1.7 KiB
C#
Raw Normal View History

using System;
using OpenMetaverse;
namespace OpenMetaverse.TestClient
{
public class FindTextureCommand : Command
{
public FindTextureCommand(TestClient testClient)
{
Name = "findtexture";
Description = "Checks if a specified texture is currently visible on a specified face. " +
"Usage: findtexture [face-index] [texture-uuid]";
}
public override string Execute(string[] args, UUID fromAgentID)
{
int faceIndex;
UUID textureID;
if (args.Length != 2)
return "Usage: findtexture [face-index] [texture-uuid]";
if (Int32.TryParse(args[0], out faceIndex) &&
UUID.TryParse(args[1], out textureID))
{
Client.Network.CurrentSim.ObjectsPrimitives.ForEach(
delegate(Primitive prim)
{
if (prim.Textures != null && prim.Textures.FaceTextures[faceIndex] != null)
{
if (prim.Textures.FaceTextures[faceIndex].TextureID == textureID)
{
Logger.Log(String.Format("Primitive {0} ({1}) has face index {2} set to {3}",
prim.ID.ToString(), prim.LocalID, faceIndex, textureID.ToString()),
Helpers.LogLevel.Info, Client);
}
}
}
);
return "Done searching";
}
else
{
return "Usage: findtexture [face-index] [texture-uuid]";
}
}
}
}