improved uuid to name on tracker and thread locking
This commit is contained in:
parent
e1b60dcbe8
commit
122d4586b2
2 changed files with 41 additions and 12 deletions
|
|
@ -160,23 +160,48 @@ namespace BetterSecondbot.Tracking
|
|||
}
|
||||
}
|
||||
|
||||
protected void TrackerEventAdd(UUID av)
|
||||
protected void TrackerEventAdd(object av)
|
||||
{
|
||||
if(AvatarSeen.ContainsKey(av) == false)
|
||||
if (UUID.TryParse(av.ToString(), out UUID avuuid) == true)
|
||||
{
|
||||
output(av, "entry|" + controler.Bot.FindAvatarKey2Name(av));
|
||||
AvatarSeen.Add(av, 0);
|
||||
lock (AvatarSeen)
|
||||
{
|
||||
if (AvatarSeen.ContainsKey(avuuid) == false)
|
||||
{
|
||||
string name = controler.Bot.FindAvatarKey2Name(avuuid);
|
||||
if (name == "lookup")
|
||||
{
|
||||
Thread.Sleep(2000);
|
||||
}
|
||||
name = controler.Bot.FindAvatarKey2Name(avuuid);
|
||||
output(avuuid, "entry###" + name);
|
||||
AvatarSeen.Add(avuuid, 0);
|
||||
}
|
||||
AvatarSeen[avuuid] = helpers.UnixTimeNow();
|
||||
}
|
||||
}
|
||||
AvatarSeen[av] = helpers.UnixTimeNow();
|
||||
}
|
||||
|
||||
protected void TrackerEventRemove(UUID av)
|
||||
protected void TrackerEventRemove(object av)
|
||||
{
|
||||
if (AvatarSeen.ContainsKey(av) == true)
|
||||
if (UUID.TryParse(av.ToString(), out UUID avuuid) == true)
|
||||
{
|
||||
output(av, "exit|" + controler.Bot.FindAvatarKey2Name(av)+"|"+ AvatarSeen[av].ToString());
|
||||
AvatarSeen.Remove(av);
|
||||
if (AvatarSeen.ContainsKey(avuuid) == true)
|
||||
{
|
||||
lock (AvatarSeen)
|
||||
{
|
||||
string name = controler.Bot.FindAvatarKey2Name(avuuid);
|
||||
if (name == "lookup")
|
||||
{
|
||||
Thread.Sleep(2000);
|
||||
}
|
||||
name = controler.Bot.FindAvatarKey2Name(avuuid);
|
||||
output(avuuid, "exit###" + name + "|" + AvatarSeen[avuuid].ToString());
|
||||
AvatarSeen.Remove(avuuid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -187,7 +212,8 @@ namespace BetterSecondbot.Tracking
|
|||
{
|
||||
foreach (UUID av in e.NewEntries)
|
||||
{
|
||||
TrackerEventAdd(av);
|
||||
Thread newThread = new Thread(this.TrackerEventAdd);
|
||||
newThread.Start(av);
|
||||
}
|
||||
}
|
||||
if (e.RemovedEntries.Count() > 0)
|
||||
|
|
|
|||
|
|
@ -356,8 +356,11 @@ namespace BetterSecondBot.bottypes
|
|||
}
|
||||
if (PendingAvatarFinds_viauuid.ContainsKey(avatar_uuid) == false)
|
||||
{
|
||||
PendingAvatarFinds_viauuid.Add(avatar_uuid, new KeyValuePair<long, int>(helpers.UnixTimeNow(), 0));
|
||||
Client.Avatars.RequestAvatarName(avatar_uuid);
|
||||
lock (PendingAvatarFinds_viauuid)
|
||||
{
|
||||
PendingAvatarFinds_viauuid.Add(avatar_uuid, new KeyValuePair<long, int>(helpers.UnixTimeNow(), 0));
|
||||
Client.Avatars.RequestAvatarName(avatar_uuid);
|
||||
}
|
||||
}
|
||||
return "lookup";
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue