Exemplo n.º 1
0
        public void Parse(string line, ReplayResourceBuilder builder)
        {
            var match = StartTime.Match(line);

            if (match.Success)
            {
                builder.WithStartTime(DateTime.Parse(match.Groups[1].Value));
            }
        }
Exemplo n.º 2
0
        public ReplayResource GetModel(string definition)
        {
            var builder = new ReplayResourceBuilder();

            foreach (var line in definition.Split('\n'))
            {
                var matchingParsers = _parsers.Where(x => x.CanParse(line));
                matchingParsers.ToList().ForEach(x => x.Parse(line, builder));
            }

            return(builder
                   .FinaliseCurrentTurn()
                   .WithFullLog(definition)
                   .Build());
        }
Exemplo n.º 3
0
        public void Parse(string line, ReplayResourceBuilder builder)
        {
            var teamSummaryOnlineMatch  = TeamSummaryOnline.Match(line);
            var teamSummaryOfflineMatch = TeamSummaryOffline.Match(line);

            if (teamSummaryOnlineMatch.Success)
            {
                builder.WithTeam(Team.Remote(
                                     teamSummaryOnlineMatch.Groups[3].Value,
                                     teamSummaryOnlineMatch.Groups[2].Value,
                                     Enum.Parse <TeamColour>(teamSummaryOnlineMatch.Groups[1].Value)));
            }
            else if (teamSummaryOfflineMatch.Success)
            {
                builder.WithTeam(Team.Local(
                                     teamSummaryOfflineMatch.Groups[2].Value,
                                     Enum.Parse <TeamColour>(teamSummaryOfflineMatch.Groups[1].Value)));
            }
        }