Пример #1
0
        public override Record Deserialize(MissionObjects input)
        {
            var recordString = GetMultipleRecordString(input);
            var tokens       = TokenParser.GetCleanedTokens(recordString);

            return(TokenParser.ParseTokens(tokens, 0));
        }
Пример #2
0
        public override Record Deserialize(ObservableCollection <EnemyPatrol> input)
        {
            var recordString = GetMultipleRecordString(input);
            var tokens       = TokenParser.GetCleanedTokens(recordString);

            return(TokenParser.ParseTokens(tokens, 0));
        }
        public virtual Record Deserialize(T input)
        {
            var recordString    = GetMultipleRecordString(input);
            var tokens          = TokenParser.GetCleanedTokens(recordString);
            var multipleRecords = TokenParser.ParseTokens(tokens);

            return(new Record(RecordName)
            {
                Data = multipleRecords
            });
        }
Пример #4
0
        private static string[] GetTokens(IList <string> lines)
        {
            lines = GetCleanedLines(lines);
            var fullText = string.Join(" ", lines);

            fullText = fullText.Replace("[", " [ ");
            fullText = fullText.Replace("]", " ] ");
            fullText = fullText.Replace("(", " ( ");
            fullText = fullText.Replace(")", " ) ");
            var commentPattern = @"/\*(?:(?!\*/).)*\*/";
            var matches        = Regex.Matches(fullText, commentPattern);

            foreach (Match match in matches)
            {
                fullText = fullText.Replace(match.Value, " ");
            }
            return(TokenParser.GetCleanedTokens(fullText));
        }