diff --git a/ClanTag.cs b/ClanTag.cs
index 238a012..a1f9de8 100644
--- a/ClanTag.cs
+++ b/ClanTag.cs
@@ -11,9 +11,9 @@ namespace ClanTagRankCommands
public static string Truncate(this string input, int strLength)
{
if (string.IsNullOrEmpty(input)) return input;
- return input.Length <= strLength ? input : input.Substring(0, strLength);
+ return input.Length <= strLength ? input : input[..strLength];
}
- public static string ClanTag(this EFClient.Permission level, Configuration Config)
+ public static string ClanTag(this EFClient.Permission level, ClanTagConfiguration Config)
{
string rankName;
diff --git a/ClanTagRankCommands.csproj b/ClanTagRankCommands.csproj
index d8a827f..b4d204d 100644
--- a/ClanTagRankCommands.csproj
+++ b/ClanTagRankCommands.csproj
@@ -16,7 +16,7 @@
-
+
diff --git a/Commands/SetRankCommand.cs b/Commands/SetRankCommand.cs
index a7b7e90..04a6ced 100644
--- a/Commands/SetRankCommand.cs
+++ b/Commands/SetRankCommand.cs
@@ -19,20 +19,20 @@ namespace ClanTagRankCommands.Commands
readonly string rank = "rank";
string rank_string;
private readonly IMetaServiceV2 _metaService;
- private readonly IConfigurationHandler _configurationHandler;
- private Configuration Config;
+ //private readonly IConfigurationHandler _configurationHandler;
+ private ClanTagConfiguration Config;
- public SetRankCommand(CommandConfiguration config, ITranslationLookup lookup, IMetaServiceV2 metaService, IConfigurationHandlerFactory configurationHandlerFactory) : base(config, lookup)
+ public SetRankCommand(CommandConfiguration config, ITranslationLookup lookup, ClanTagConfiguration _Config, IMetaServiceV2 metaService, IConfigurationHandlerFactory configurationHandlerFactory) : base(config, lookup)
{
_metaService = metaService;
- _configurationHandler = configurationHandlerFactory.GetConfigurationHandler("ClanTagRankCommands");
- if (_configurationHandler.Configuration() == null)
- {
- _configurationHandler.Set((Configuration)new Configuration().Generate());
- _configurationHandler.Save();
- }
- Config = _configurationHandler.Configuration();
+ //_configurationHandler = configurationHandlerFactory.GetConfigurationHandler("ClanTagRankCommands");
+ //if (_configurationHandler.Configuration() == null)
+ //{
+ // _configurationHandler.Set((ClanTagConfiguration)new ClanTagConfiguration().Generate());
+ // _configurationHandler.Save();
+ //}
+ Config = _Config;
Name = "SetRank";
Description = "set a user's clan tag Rank (does not give permissions)";
@@ -49,7 +49,7 @@ namespace ClanTagRankCommands.Commands
};
}
- public override async Task ExecuteAsync(GameEvent E)
+ public override async Task ExecuteAsync(GameEvent E )
{
//var S = E.Owner;
rank_string = "none";
diff --git a/Configuration.cs b/Configuration.cs
index d871d20..aff7741 100644
--- a/Configuration.cs
+++ b/Configuration.cs
@@ -3,7 +3,7 @@ using SharedLibraryCore.Interfaces;
namespace ClanTagRankCommands
{
- public class Configuration : IBaseConfiguration
+ public class ClanTagConfiguration : IBaseConfiguration
{
internal const string _name = "IW4MAdmin";
diff --git a/Plugin.cs b/Plugin.cs
index 4860fb2..b68c267 100644
--- a/Plugin.cs
+++ b/Plugin.cs
@@ -4,25 +4,28 @@ using System.Threading.Tasks;
using System.Threading;
using SharedLibraryCore.Database.Models;
using SharedLibraryCore.Helpers;
-
+using SharedLibraryCore.Commands;
+using SharedLibraryCore.Events.Management;
+using SharedLibraryCore.Interfaces.Events;
+using Microsoft.Extensions.DependencyInjection;
using System.Collections.Generic;
using Microsoft.Extensions.Logging;
using ILogger = Microsoft.Extensions.Logging.ILogger;
using Data.Models;
using System;
-using SharedLibraryCore.Commands;
using JsonSerializer = System.Text.Json.JsonSerializer;
using System.Linq;
using Serilog.Core;
+using EFClient = Data.Models.Client.EFClient;
namespace ClanTagRankCommands
{
- public class Plugin : IPlugin
+ public class Plugin : IPluginV2
{
- private readonly IConfigurationHandler _configurationHandler;
+ //private readonly IConfigurationHandler _configurationHandler;
private readonly ILogger _logger;
- private Configuration Config;
+ //private ClanTagConfiguration Config;
//readonly string rank = "rank";
//string rankName = "none";
private readonly IInteractionRegistration _interactionRegistration;
@@ -34,33 +37,40 @@ namespace ClanTagRankCommands
public string Name => "ClanTagRankCommands";
- public float Version => 1.5f;
+ //public float Version => 1.5f;
public string Author => "INSANEMODE";
+ string IModularAssembly.Version => "2.0";
+
private readonly IMetaServiceV2 _metaService;
public static string DonatorKey = "IW4MDonator";
public static DataManager DataManager;
- public Plugin(IMetaServiceV2 metaService, IConfigurationHandlerFactory configurationHandlerFactory, ILogger logger, IInteractionRegistration interactionRegistration, IRemoteCommandService remoteCommandService)
+ public Plugin(IMetaServiceV2 metaService, ClanTagConfiguration Config, ILogger logger, IInteractionRegistration interactionRegistration, IRemoteCommandService remoteCommandService)
{
+ IManagementEventSubscriptions.Load += OnLoad;
_remoteCommandService = remoteCommandService;
_logger = logger;
_metaService = metaService;
- _configurationHandler = (IConfigurationHandler)configurationHandlerFactory.GetConfigurationHandler("ClanTagRankCommands");
+ //_configurationHandler = (IConfigurationHandler)configurationHandlerFactory.GetConfigurationHandler("ClanTagRankCommands");
_interactionRegistration = interactionRegistration;
DataManager = new DataManager(metaService, logger);
}
- public Task OnLoadAsync(IManager manager)// => Task.CompletedTask;
+ public static void RegisterDependencies(IServiceCollection serviceCollection)
{
- if (_configurationHandler.Configuration() == null)
- {
- _configurationHandler.Set((Configuration)new Configuration().Generate());
- _configurationHandler.Save();
- }
- Config = _configurationHandler.Configuration();
+ serviceCollection.AddConfiguration("ClanTagRankCommands");
+ }
+ private Task OnLoad(IManager manager, CancellationToken token)
+ {
+ //if (_configurationHandler.Configuration() == null)
+ //{
+ // _configurationHandler.Set((ClanTagConfiguration)new ClanTagConfiguration().Generate());
+ // _configurationHandler.Save();
+ //}
+ //Config = _configurationHandler.Configuration();
string version = manager.Version;
string str = string.Format("Loaded {0} ({1}) by {2} in {3} ({4})!", (object)((IPlugin)this).Name, (object)((IPlugin)this).Version, (object)((IPlugin)this).Author, (object)"IW4MAdmin", (object)version);
_logger.LogInformation(str);
@@ -91,7 +101,7 @@ namespace ClanTagRankCommands
{ "Name", "Set Donator rank" },
{ "ShouldRefresh", true.ToString() }
},
- MinimumPermission = Data.Models.Client.EFClient.Permission.Administrator,
+ MinimumPermission = EFClient.Permission.Administrator,
Source = Name,
Enabled = true,
PermissionAccess = "read",
@@ -112,7 +122,7 @@ namespace ClanTagRankCommands
{ "Name", "UnSet Donator rank" },
{ "ShouldRefresh", true.ToString() }
},
- MinimumPermission = Data.Models.Client.EFClient.Permission.Administrator,
+ MinimumPermission = EFClient.Permission.Administrator,
Source = Name,
Enabled = true,
PermissionAccess = "read",
@@ -161,7 +171,7 @@ namespace ClanTagRankCommands
{ "Name", "Temporarily invite guest to donator server" },
{ "ShouldRefresh", true.ToString() }
},
- MinimumPermission = Data.Models.Client.EFClient.Permission.Trusted,
+ MinimumPermission = EFClient.Permission.Trusted,
Source = Name,
Enabled = true,
PermissionAccess = "read",
@@ -182,7 +192,7 @@ namespace ClanTagRankCommands
{ "Name", "Cancel guest invite" },
{ "ShouldRefresh", true.ToString() }
},
- MinimumPermission = Data.Models.Client.EFClient.Permission.Trusted,
+ MinimumPermission = EFClient.Permission.Trusted,
Source = Name,
Enabled = true,
PermissionAccess = "read",
@@ -222,7 +232,7 @@ namespace ClanTagRankCommands
}
public static class yadb
{
- public static Task notifyYADB(string message, string title, string reason, string icon, Server S, EFClient OriginClient, EFClient TargetClient)
+ public static Task notifyYADB(string message, string title, string reason, string icon, Server S, SharedLibraryCore.Database.Models.EFClient OriginClient, SharedLibraryCore.Database.Models.EFClient TargetClient)
{
string json = "";
using (var stream = new System.IO.MemoryStream())