From 08b312b643ec3fc05f1bea117f965901f4ef39b8 Mon Sep 17 00:00:00 2001 From: Madpeter Date: Sun, 26 Apr 2020 01:38:35 +0100 Subject: [PATCH] adds parcelobjectowners support to await reply --- Core/bottypes/AwaitReplyEventBot.cs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Core/bottypes/AwaitReplyEventBot.cs b/Core/bottypes/AwaitReplyEventBot.cs index 6d3ae3f..c82b731 100644 --- a/Core/bottypes/AwaitReplyEventBot.cs +++ b/Core/bottypes/AwaitReplyEventBot.cs @@ -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 PurgeAwaiters = new List(); + foreach (KeyValuePair> 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)