오늘은 데이터 드리븐을 사용하기 위한 파서툴을 만들어보고자 한다.
파싱툴은 외부프로그램을 직접 코딩하여 만드는것으로 아는데 대표적으로는 윈폼(winform), HTML웹기반 파싱툴을 만들어 쓴다고한다.
유니티 에디터 내부에 파싱툴을 만들면 구글 시트데이터와 같이 데이터파일의 버젼이 업그레이드 되면 해당 피드백이 바로바로 반영될 수 있고 기획자가 변경한 데이터등이 곧바로 반영되어 데이터파일의 버젼차이가 생길 수 있기때문에 테스트에 문제가 생길 수 있기 때문이다.
그래서, 결과적으로 윈폼기반 파싱툴을 만들어 보기로 하였다. 처음 만드는 것이기때문에 챗지피티의 도움을 좀 받기로 했다.
나의 경우 IDE는 Rider를 사용하기 때문에 이를 포함하여 질문했다.
Rider에서 New Solution → .NET → Windows Forms App (.NET 6 or 8) 선택
프로젝트 이름: UnityTableParser
| 요소 | 설명 |
|---|---|
| OpenFileDialog | CSV/JSON 파일 선택 기능 |
| DataGridView | 테이블 표시 |
| Parse 버튼 | 파싱 실행 |
| Save 버튼 | 변환 후 결과 저장 |
using CsvHelper;
using System.Globalization;
using System.IO;
using System.Windows.Forms;
using System.Collections.Generic;
public class TableParser
{
public static List<dynamic> ParseCsv(string path)
{
using var reader = new StreamReader(path);
using var csv = new CsvReader(reader, CultureInfo.InvariantCulture);
return new List<dynamic>(csv.GetRecords<dynamic>());
}
}