public CSVBuilder(ParsedEvtcLog log, CSVSettings settings, string[] uploadresult = null)
        {
            if (settings == null)
            {
                throw new InvalidDataException("Missing settings in CSVBuilder");
            }
            _log           = log;
            _delimiter     = settings.Delimiter;
            _phases        = log.FightData.GetPhases(log);
            _noFakePlayers = log.PlayerList.Where(x => !x.IsFakeActor).ToList();

            _statistics = log.Statistics;

            _uploadResult = uploadresult ?? new string[] { "", "", "" };
            _legacyTarget = log.FightData.Logic.GetLegacyTarget();
            if (_legacyTarget == null)
            {
                throw new InvalidDataException("No Targets found for csv");
            }
        }
        public CSVBuilder(ParsedEvtcLog log, CSVSettings settings, Version parserVersion, UploadResults uploadResults)
        {
            if (settings == null)
            {
                throw new InvalidDataException("Missing settings in CSVBuilder");
            }
            _log           = log;
            _parserVersion = parserVersion;
            _delimiter     = settings.Delimiter;
            _phases        = log.FightData.GetNonDummyPhases(log);
            _noFakePlayers = log.PlayerList.ToList();

            _statistics = log.StatisticsHelper;

            _uploadResult = uploadResults.ToArray();
            _legacyTarget = log.FightData.Logic.GetLegacyTarget();
            if (_legacyTarget == null)
            {
                throw new InvalidDataException("No Targets found for csv");
            }
        }