adds parcelobjectowners support to await reply

This commit is contained in:
Madpeter 2020-04-26 01:38:35 +01:00
parent bb4462f607
commit 08b312b643

View file

@ -18,6 +18,7 @@ namespace BSB.bottypes
Client.Groups.GroupRoleDataReply += GroupRolesData;
Client.Self.GroupChatJoined += GroupchatJoinHandler;
Client.Groups.GroupMembersReply += GroupMembersReplyHandler;
Client.Parcels.ParcelObjectOwnersReply += ObjectOwnersHandler;
}
}
protected override void GroupMembersReplyHandler(object sender, GroupMembersReplyEventArgs e)
@ -91,6 +92,27 @@ namespace BSB.bottypes
}
}
}
protected virtual void ObjectOwnersHandler(object sender, ParcelObjectOwnersReplyEventArgs e)
{
if (await_events.ContainsKey("parcelobjectowners") == true)
{
List<string> PurgeAwaiters = new List<string>();
foreach (KeyValuePair<string, KeyValuePair<CoreCommand, string[]>> await_reply in await_events["parcelobjectowners"])
{
if (UUID.TryParse(await_reply.Value.Value[0], out UUID test_group) == true)
{
PurgeAwaiters.Add(await_reply.Key);
await_reply.Value.Key.Callback(await_reply.Value.Value, e);
}
}
foreach (string eventid in PurgeAwaiters)
{
await_event_ages.Remove(eventid);
await_event_idtolistener.Remove(eventid);
await_events["parcelobjectowners"].Remove(eventid);
}
}
}
protected void GroupRolesData(object sender,GroupRolesDataReplyEventArgs e)
{
if(await_events.ContainsKey("grouproles") == true)