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));
|
lock (AvatarSeen)
|
||||||
AvatarSeen.Add(av, 0);
|
{
|
||||||
|
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());
|
if (AvatarSeen.ContainsKey(avuuid) == true)
|
||||||
AvatarSeen.Remove(av);
|
{
|
||||||
|
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)
|
foreach (UUID av in e.NewEntries)
|
||||||
{
|
{
|
||||||
TrackerEventAdd(av);
|
Thread newThread = new Thread(this.TrackerEventAdd);
|
||||||
|
newThread.Start(av);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (e.RemovedEntries.Count() > 0)
|
if (e.RemovedEntries.Count() > 0)
|
||||||
|
|
|
||||||
|
|
@ -356,8 +356,11 @@ namespace BetterSecondBot.bottypes
|
||||||
}
|
}
|
||||||
if (PendingAvatarFinds_viauuid.ContainsKey(avatar_uuid) == false)
|
if (PendingAvatarFinds_viauuid.ContainsKey(avatar_uuid) == false)
|
||||||
{
|
{
|
||||||
PendingAvatarFinds_viauuid.Add(avatar_uuid, new KeyValuePair<long, int>(helpers.UnixTimeNow(), 0));
|
lock (PendingAvatarFinds_viauuid)
|
||||||
Client.Avatars.RequestAvatarName(avatar_uuid);
|
{
|
||||||
|
PendingAvatarFinds_viauuid.Add(avatar_uuid, new KeyValuePair<long, int>(helpers.UnixTimeNow(), 0));
|
||||||
|
Client.Avatars.RequestAvatarName(avatar_uuid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return "lookup";
|
return "lookup";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue