public override void LoadAndParseScripts()
        {
            try
            {
                string[] scriptFiles = Directory.GetFiles(Constants.PatchersDir, Constants.ScriptFilePattern, SearchOption.TopDirectoryOnly).Select(Path.GetFullPath).ToArray();

                foreach (string file in scriptFiles)
                {
                    try
                    {
                        var script = JsonConvert.DeserializeObject <PatcherScript>(File.ReadAllText(file), new JsonSerializerSettings
                        {
                            DefaultValueHandling = DefaultValueHandling.Ignore,
                            NullValueHandling    = NullValueHandling.Ignore,
                            DateFormatString     = "dd.MM.yyyy"
                        });

                        if (ScriptEngineHelpers.ValidateScript(script))
                        {
                            ScriptEngineHelpers.AddPlaceholders(script);
                            ScriptEngineHelpers.ParsePlaceholders(script);
                            ScriptEngineHelpers.AddTargetFilesText(script);

                            LoadedScripts.Add(script);
                        }
                    }
                    catch (Exception ex)
                    {
                        Logger.Error($"Error while loading the script file -> ({Path.GetFileName(file)})\r\n{(Program.IsDebugModeEnabled ? "\r\n" : string.Empty)}{ex.Message}{(Program.IsDebugModeEnabled ? $"\r\n{ex.StackTrace}" : string.Empty)}");
                        IsLoadingError = true;
                        FrmMain.Instance.grpReleaseInfo.Enabled = true;
                    }
                }

                if (LoadedScripts.Count > 0)
                {
                    FrmMain.Instance.grpPatcherInfo.Enabled = true;
                    FrmMain.Instance.grpReleaseInfo.Enabled = true;
                    FrmMain.Instance.txtReleaseInfo.Enabled = true;
                    FrmMain.Instance.chkMakeBackup.Enabled  = true;
                    FrmMain.Instance.btnPatch.Enabled       = true;
                }
            }
            catch
            {
                // ignored
            }
        }