From 640cb4b69e7eceeebc868e67a530b66c1bda1b5a Mon Sep 17 00:00:00 2001 From: Date: Tue, 13 May 2008 22:57:37 +0000 Subject: [PATCH] * Updated OnAvatarAppearance event to include sender ID and bool isTrial parameter. * Updated TestClient's detectbot command to use OnAvatarAppearance. git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1858 52acb1d6-8a22-11de-b505-999d5b087335 --- libsecondlife/AvatarManager.cs | 4 ++-- .../TestClient/Commands/DetectBotCommand.cs | 21 +++++++------------ 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/libsecondlife/AvatarManager.cs b/libsecondlife/AvatarManager.cs index 976fc2b2..35e17819 100644 --- a/libsecondlife/AvatarManager.cs +++ b/libsecondlife/AvatarManager.cs @@ -67,7 +67,7 @@ namespace libsecondlife /// /// /// - public delegate void AvatarAppearanceCallback(LLObject.TextureEntryFace defaultTexture, LLObject.TextureEntryFace[] textureEntries, List visualParams); + public delegate void AvatarAppearanceCallback(LLUUID avatarID, bool isTrial, LLObject.TextureEntryFace defaultTexture, LLObject.TextureEntryFace[] faceTextures, List visualParams); /// /// Triggered when a UUIDNameReply is received /// @@ -305,7 +305,7 @@ namespace libsecondlife LLObject.TextureEntryFace defaultTexture = textureEntry.DefaultTexture; LLObject.TextureEntryFace[] faceTextures = textureEntry.FaceTextures; - try { OnAvatarAppearance(defaultTexture, faceTextures, visualParams); } + try { OnAvatarAppearance(appearance.Sender.ID, appearance.Sender.IsTrial, defaultTexture, faceTextures, visualParams); } catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); } } }); diff --git a/libsecondlife/examples/TestClient/Commands/DetectBotCommand.cs b/libsecondlife/examples/TestClient/Commands/DetectBotCommand.cs index 235b27db..231c6041 100644 --- a/libsecondlife/examples/TestClient/Commands/DetectBotCommand.cs +++ b/libsecondlife/examples/TestClient/Commands/DetectBotCommand.cs @@ -11,7 +11,7 @@ namespace libsecondlife.TestClient Name = "detectbot"; Description = "Runs in the background, reporting any potential bots"; - testClient.Network.RegisterCallback(PacketType.AvatarAppearance, new NetworkManager.PacketCallback(AvatarAppearanceHandler)); + testClient.Avatars.OnAvatarAppearance += new AvatarManager.AvatarAppearanceCallback(Avatars_OnAvatarAppearance); } public override string Execute(string[] args, LLUUID fromAgentID) @@ -19,20 +19,15 @@ namespace libsecondlife.TestClient return "This command is always running"; } - private void AvatarAppearanceHandler(Packet packet, Simulator simulator) + void Avatars_OnAvatarAppearance(LLUUID avatarID, bool isTrial, LLObject.TextureEntryFace defaultTexture, LLObject.TextureEntryFace[] faceTextures, System.Collections.Generic.List visualParams) { - AvatarAppearancePacket appearance = (AvatarAppearancePacket)packet; - - LLObject.TextureEntry te = new LLObject.TextureEntry(appearance.ObjectData.TextureEntry, 0, - appearance.ObjectData.TextureEntry.Length); - - if (IsNullOrZero(te.FaceTextures[(int)AppearanceManager.TextureIndex.EyesBaked] ) && - IsNullOrZero(te.FaceTextures[(int)AppearanceManager.TextureIndex.HeadBaked]) && - IsNullOrZero(te.FaceTextures[(int)AppearanceManager.TextureIndex.LowerBaked]) && - IsNullOrZero(te.FaceTextures[(int)AppearanceManager.TextureIndex.SkirtBaked]) && - IsNullOrZero(te.FaceTextures[(int)AppearanceManager.TextureIndex.UpperBaked])) + if (IsNullOrZero(faceTextures[(int)AppearanceManager.TextureIndex.EyesBaked]) && + IsNullOrZero(faceTextures[(int)AppearanceManager.TextureIndex.HeadBaked]) && + IsNullOrZero(faceTextures[(int)AppearanceManager.TextureIndex.LowerBaked]) && + IsNullOrZero(faceTextures[(int)AppearanceManager.TextureIndex.SkirtBaked]) && + IsNullOrZero(faceTextures[(int)AppearanceManager.TextureIndex.UpperBaked])) { - Console.WriteLine("Avatar " + appearance.Sender.ID.ToString() + " may be a bot"); + Console.WriteLine("Avatar " + avatarID.ToString() + " may be a bot"); } }