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

define new event types

This commit is contained in:
RaidMax
2023-02-11 21:03:35 -06:00
parent 36cca2f93b
commit 2b6720d4e2
36 changed files with 320 additions and 0 deletions

View File

@ -0,0 +1,9 @@
using SharedLibraryCore.Interfaces;
namespace SharedLibraryCore.Events.Management;
public class ClientExecuteCommandEvent : ClientStateEvent
{
public IManagerCommand Command { get; init; }
public string CommandText { get; init; }
}

View File

@ -0,0 +1,10 @@
using Data.Models;
using Data.Models.Client;
namespace SharedLibraryCore.Events.Management;
public class ClientPenaltyEvent : ManagementEvent
{
public EFClient Client { get; init; }
public EFPenalty Penalty { get; init; }
}

View File

@ -0,0 +1,6 @@
namespace SharedLibraryCore.Events.Management;
public class ClientPenaltyRevokeEvent : ClientPenaltyEvent
{
}

View File

@ -0,0 +1,9 @@
using Data.Models.Client;
namespace SharedLibraryCore.Events.Management;
public class ClientPermissionChangeEvent : ClientStateEvent
{
public EFClient.Permission OldPermission { get; init; }
public EFClient.Permission NewPermission { get; init; }
}

View File

@ -0,0 +1,6 @@
namespace SharedLibraryCore.Events.Management;
public class ClientStateAuthorizeEvent : ClientStateEvent
{
}

View File

@ -0,0 +1,6 @@
namespace SharedLibraryCore.Events.Management;
public class ClientStateDisposeEvent : ClientStateEvent
{
}

View File

@ -0,0 +1,8 @@
using EFClient = SharedLibraryCore.Database.Models.EFClient;
namespace SharedLibraryCore.Events.Management;
public abstract class ClientStateEvent : ManagementEvent
{
public EFClient Client { get; init; }
}

View File

@ -0,0 +1,6 @@
namespace SharedLibraryCore.Events.Management;
public class ClientStateInitializeEvent : ClientStateEvent
{
}

View File

@ -0,0 +1,14 @@
namespace SharedLibraryCore.Events.Management;
public class LoginEvent : ManagementEvent
{
public enum LoginSourceType
{
Ingame,
Webfront
}
public string EntityId { get; init; }
public string Identifier { get; init; }
public LoginSourceType LoginSource { get; init; }
}

View File

@ -0,0 +1,6 @@
namespace SharedLibraryCore.Events.Management;
public class LogoutEvent : LoginEvent
{
}

View File

@ -0,0 +1,6 @@
namespace SharedLibraryCore.Events.Management;
public class ManagementEvent : CoreEvent
{
}

View File

@ -0,0 +1,8 @@
using System;
namespace SharedLibraryCore.Events.Management;
public class NotifyAfterDelayCompleteEvent : ManagementEvent
{
public Delegate Action { get; init; }
}

View File

@ -0,0 +1,9 @@
using System;
namespace SharedLibraryCore.Events.Management;
public class NotifyAfterDelayRequestEvent : ManagementEvent
{
public int DelayMs { get; init; }
public Action Action { get; init; }
}