public override Record Deserialize(MissionObjects input) { var recordString = GetMultipleRecordString(input); var tokens = TokenParser.GetCleanedTokens(recordString); return(TokenParser.ParseTokens(tokens, 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 }); }
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)); }