1
0
mirror of https://github.com/RaidMax/IW4M-Admin.git synced 2025-06-10 15:20:48 -05:00

add kick client functionality to webfront home for issue #142

This commit is contained in:
RaidMax
2020-07-14 14:13:40 -05:00
parent 49511cff13
commit 41474768fc
6 changed files with 84 additions and 24 deletions

View File

@ -57,26 +57,16 @@ namespace WebfrontCore.Controllers
};
Manager.AddEvent(remoteEvent);
List<CommandResponseInfo> response = null;
CommandResponseInfo[] response = null;
try
{
var completedEvent = await remoteEvent.WaitAsync(Utilities.DefaultCommandTimeout, server.Manager.CancellationToken);
// wait for the event to process
if (!completedEvent.Failed)
var completedEvent = await remoteEvent.WaitAsync(Utilities.DefaultCommandTimeout, server.Manager.CancellationToken);
if (completedEvent.FailReason == GameEvent.EventFailReason.Timeout)
{
response = server.CommandResult.Where(c => c.ClientId == client.ClientId).ToList();
// remove the added command response
for (int i = 0; i < response.Count; i++)
{
server.CommandResult.Remove(response[i]);
}
}
else if (completedEvent.FailReason == GameEvent.EventFailReason.Timeout)
{
response = new List<CommandResponseInfo>()
response = new[]
{
new CommandResponseInfo()
{
@ -85,11 +75,22 @@ namespace WebfrontCore.Controllers
}
};
}
else
{
response = response = server.CommandResult.Where(c => c.ClientId == client.ClientId).ToArray();
}
// remove the added command response
for (int i = 0; i < response?.Length; i++)
{
server.CommandResult.Remove(response[i]);
}
}
catch (System.OperationCanceledException)
{
response = new List<CommandResponseInfo>()
response = new[]
{
new CommandResponseInfo()
{