개인 포트폴리오 - (2) 외부 데이터(구글 스프레드시트) JSON화

1. 구글 스프레드 시트에 데이터 작성(스키마 설계)
- 현재 외부에서 유닛과 무기 정보에 대한 것을 이렇게 적었다.


- 첫 행은 헤더, 두번째 행은 자료형으로 두었으며 세번째 행부터 해당 유닛 혹은 무기별 정보가 나오는 구조이다.
- 최소한의 것들만 들고 가는 형태가 저런 느낌이다.

<걷어낼 것들은 빨리 걷어내는 것이 좋다 내려>
- 뭐 그래 여기까진
개쉬운 단계라고 할 수 있다(문제는 맵은 아직 엄두도 안나서 건들지도 못했다).
2. 외부 데이터 반입
- 스크립트 하나를 만들어서 로더를 다음과 같이 필드 구성을 했고

- 인스펙터 단에는 저렇게 해놨다

- 아직까진 뭐 크게 엇나가는 것은 없다.
- 단, 외부 링크를 받아올 때는 'https://docs.google.com/spreadsheets/d/스프레드시트_코드/export?format=tsv&gid=위치' 이런 형식이다. 그대로 갖다 붙이는 것은 X.

<그대로 링크 넣으면 어떤 형식으로 받아올 것인지도 모른다>
- 일단 레퍼런스대로 진행을 하면 이런 느낌으로 가는데..
- 추가적으로 저것을 담는 Scriptable Object가 필요하다. 그래서 이런 식으로 값들을 담는 것을 만든다.

- 스프레드시트에서 썼던 내용 + 사용하게 될 프리팹 정도를 필드에 두고 시트에 있는 정보를 받을 함수를 설정한다.
- SO 단에서 쓸 것이기 때문에 어떻게든 쓰인다.

<뭔가 쓸 곳 없어 보이는 것이라도 안 쓰일 필드 값은 없으니 안심하도록>
- 아무튼 로더로 돌아와서 로더 상에서 이것 저것을 해줘야 한다.
- Awake 단에서는 Dictionary로 지정한 것 안에다가 ID별로 정보를 담아준다.

- 다 그런 것은 아니지만 로더의 기능은 다음과 같은 흐름을 가진다.
- Awake(Dictionary 등록) → LoadUnitTable(다운로드) → ConvertTsvToJson(변환, 내부에서 ParseLine 반복) → ApplyToJson(SO 적용) → TryGetUnitData(외부 조회 용도)

- 뭔가 왔다갔다하는 느낌인데 일단 이렇게 진행
- 로더를 통해 이렇게 세팅을 해두고 데이터 로더에도 넣어주고 실행하면



- 이렇게 들어간다는 것.
- 이후에 내용은 3을 통해서 좀 더 보강해서 돌아오도록 해보겠다.

<두둥 탁 커밍 순>




