From 8031d9ce8ccb2916f5a601610ca3d9eafcc2968c Mon Sep 17 00:00:00 2001 From: Dollan Date: Sun, 7 Apr 2024 00:34:13 +0200 Subject: [PATCH] fix: cleanup logger and add config --- CS2Multi1v1.cs | 50 ++++++++++++++++++++++++++++++++----------------- Config.cs | 9 +++++++++ Models/Arena.cs | 4 ++-- 3 files changed, 44 insertions(+), 19 deletions(-) create mode 100644 Config.cs diff --git a/CS2Multi1v1.cs b/CS2Multi1v1.cs index ff75ce4..0600554 100644 --- a/CS2Multi1v1.cs +++ b/CS2Multi1v1.cs @@ -10,31 +10,53 @@ namespace CS2Multi1v1; -public class CS2Multi1v1 : BasePlugin +public class CS2Multi1v1 : BasePlugin, IPluginConfig { + + public static CS2Multi1v1 Instance { get; private set; } = new(); public override string ModuleName => "CS2Multi1v1"; public override string ModuleVersion => "beta_1.0.0"; public override string ModuleAuthor => "rockCityMath, dollan"; public override string ModuleDescription => "Supports multiple automatic 1v1 arenas with rank climbing."; - private bool _aimMapLoaded; + private bool _aimMapLoaded = false; + + internal static ILogger? _logger; + private Queue _waitingArenaPlayers = new Queue(); + private List _rankedArenas = new List(); - private ILogger _logger; - private Queue _waitingArenaPlayers; - private List _rankedArenas; + public CS2Multi1v1Config Config { get; set; } = new(); - public CS2Multi1v1(ILogger logger) + public void OnConfigParsed(CS2Multi1v1Config config) { - _aimMapLoaded = false; - _logger = logger; - _waitingArenaPlayers = new Queue(); - _rankedArenas = new List(); + Config = config; } + // public CS2Multi1v1() + // { + // _aimMapLoaded = false; + // _waitingArenaPlayers = new Queue(); + // _rankedArenas = new List(); + // } + public override void Load(bool hotReload) { + Instance = this; + _logger = Logger; + _logger.LogInformation("Loaded CS2Multi1v1!"); + + + if (hotReload) + { + _logger.LogInformation("Detected hot reload..."); + // requeue/calc spawns?? + } + } + + private void RegisterEvents() + { RegisterEventHandler(OnGameNewmap); RegisterEventHandler(OnGameStart); RegisterEventHandler(OnMapTransition); @@ -47,12 +69,6 @@ public override void Load(bool hotReload) RegisterEventHandler(OnPlayerDeath); RegisterEventHandler(OnPlayerSpawn); RegisterEventHandler(OnPlayerDisconnect); - - if (hotReload) - { - _logger.LogInformation("Detected hot reload..."); - // requeue/calc spawns?? - } } // ----------------------------- SERVER RELATED GAME EVENT HOOKS -------------------------------------// @@ -321,7 +337,7 @@ public void OnAsize(CCSPlayerController? player, CommandInfo commandInfo) int count = 0; foreach (Tuple arenaSpawns in arenasSpawns) { - Arena arena = new Arena(_logger, arenaSpawns); + Arena arena = new Arena(_logger!, arenaSpawns); _rankedArenas.Add(arena); count++; } diff --git a/Config.cs b/Config.cs new file mode 100644 index 0000000..dc332d9 --- /dev/null +++ b/Config.cs @@ -0,0 +1,9 @@ +using CounterStrikeSharp.API.Core; +using System.Text.Json.Serialization; + +namespace CS2Multi1v1; + +public class CS2Multi1v1Config : BasePluginConfig +{ + [JsonPropertyName("ConfigVersion")] public override int Version { get; set; } = 0; +} diff --git a/Models/Arena.cs b/Models/Arena.cs index 653a973..9cc5f59 100644 --- a/Models/Arena.cs +++ b/Models/Arena.cs @@ -11,7 +11,7 @@ internal class Arena private Tuple _spawns; private int _rank; private RoundType _roundType; - private ILogger _logger; + private ILogger _logger; public ArenaPlayer? _player1; private int _player1Kills; @@ -20,7 +20,7 @@ internal class Arena public ArenaPlayer? _player2; // these should be private, use util methods for interation private int _player2Kills; - public Arena(ILogger logger, Tuple spawns) + public Arena(ILogger logger, Tuple spawns) { _spawns = spawns; _rank = 0;