AutoBoss.AbsTools.ReloadConfig C# (CSharp) Метод

ReloadConfig() публичный Метод

public ReloadConfig ( bool console = false, TShockAPI.TSPlayer receiver = null ) : void
console bool
receiver TShockAPI.TSPlayer
Результат void
        public void ReloadConfig(bool console = false, TSPlayer receiver = null)
        {
            var configPath = Path.Combine(TShock.SavePath, "BossConfig.json");
            (AutoBoss.config = Config.Read(configPath)).Write(configPath);

            var invalidRegions = new List<string>();

            foreach (var arena in AutoBoss.config.BossArenas.Where(a => a.Value))
            {
                var region = TShock.Regions.GetRegionByName(arena.Key);
                if (region == null)
                {
                    invalidRegions.Add(arena.Key);
                    continue;
                }
                if (!AutoBoss.ActiveArenas.Contains(region)) AutoBoss.ActiveArenas.Add(region);
            }

            arenaCount = AutoBoss.ActiveArenas.Count;

            if (invalidRegions.Count == 0)
            {
                AutoBoss.Timers = new BossTimer();
                return;
            }
            TShock.Log.ConsoleError("Invalid regions encountered: " + string.Join(", ", invalidRegions));

            if (!console && receiver != null)
                receiver.SendErrorMessage("Invalid regions encountered: " + string.Join(", ", invalidRegions));
        }

Usage Example

Пример #1
0
        private static void OnGreet(GreetPlayerEventArgs args)
        {
            if (TShock.Players[args.Who] != null)
            {
                if (config.AutoStartEnabled && TShock.Utils.ActivePlayers() == 1)
                {
                    Tools.ReloadConfig(true);
                    var day     = config.BossToggles[BattleType.Day];
                    var night   = config.BossToggles[BattleType.Night];
                    var special = config.BossToggles[BattleType.Special];
                    Tools.bossesToggled = true;
                    Timers.StartBosses(day, night, special, true);

                    TShock.Log.ConsoleInfo("[AutoBoss+] Timer started: Autostart");
                }
            }
        }