1
0
mirror of https://github.com/RaidMax/IW4M-Admin.git synced 2025-06-07 13:48:00 -05:00
IW4M-Admin/SharedLibraryCore/Commands/CommandExtensions.cs

30 lines
996 B
C#

using SharedLibraryCore.Interfaces;
namespace SharedLibraryCore.Commands
{
public static class CommandExtensions
{
public static bool IsTargetingSelf(this GameEvent gameEvent)
{
return gameEvent.Origin?.Equals(gameEvent.Target) ?? false;
}
public static bool CanPerformActionOnTarget(this GameEvent gameEvent)
{
return gameEvent.Origin?.Level > gameEvent.Target?.Level;
}
/// <summary>
/// determines the command configuration name for given manager command
/// </summary>
/// <param name="command">command to determine config name for</param>
/// <returns></returns>
public static string CommandConfigNameForType(this IManagerCommand command)
{
return command.GetType().Name is "ScriptCommand"
? $"{char.ToUpper(command.Name[0])}{command.Name[1..]}Command"
: command.GetType().Name;
}
}
}