public void RequestGroupName(UUID groupID)
{
// if we already have this in the cache, return from cache instead of making a request
if (GroupName2KeyCache.ContainsKey(groupID))
{
Dictionary<UUID, string> groupNames = new Dictionary<UUID, string>();
lock(GroupName2KeyCache.Dictionary)
groupNames.Add(groupID, GroupName2KeyCache.Dictionary[groupID]);
if (OnGroupNames != null)
{
try { OnGroupNames(groupNames); }
catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); }
}
}
else
{
UUIDGroupNameRequestPacket req = new UUIDGroupNameRequestPacket();
UUIDGroupNameRequestPacket.UUIDNameBlockBlock[] block = new UUIDGroupNameRequestPacket.UUIDNameBlockBlock[1];
block[0] = new UUIDGroupNameRequestPacket.UUIDNameBlockBlock();
block[0].ID = groupID;
req.UUIDNameBlock = block;
Client.Network.SendPacket(req);
}
}