일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- c# 백준
- 유니티공부
- C#문법
- c#
- unity3d게임만들기
- 스파르타코딩클럽
- unity공부
- c# c#프로그래머스
- 유니티게임만들기
- 시샵문법
- Console.WriteLine
- 스파르타
- 오블완
- unity게임만들기
- 티스토리챌린지
- 유니티3dui
- c#코테
- unity게임
- 유니티서바이벌게임만들기
- 유니티상호작용
- c#기본문법
- Unity
- 유니티
- unity3d
- unity3dservival
- c#코딩기초트레이닝
- c#프로그래머스기초문법
- c#문제
- 시샵
- c#기초문법
- Today
- Total
나 개발자 진짜 되냐?
[ 12月 20日 ] 오늘 내가 배운 것 _ 69日次 _ 오늘도 발표 자료 준비中 본문
어제에 이어서 오늘은
데이터 부분을 정리해보려고 한다.
가장 오래동안 보았기때문에
잘할줄알았는데
언제나..나는 막힌다..속상한 나
후후..
우리의 데이터 과정을 생각해 보면..
1.
구글스프레드시트 작성
그럼 이렇게
아이템 데이터
즉 제이슨 이름으로 된 제이슨이 생긴다.
제이슨 이름으로 된 제이슨 ㅋㅋㅋ 재밌네
여하튼!
이 리스트들을 = 제이슨 친구들
을
컴퓨터가 보기 쉽게
클래스 화 해주어야 한다.
그래서 우리는
json to C#을 해주어서
내가 만든 제이슨 파일을
여기에 넣어줄 거야!라고 클래스화 시켜준다.
그리고 이 리스트에는
제이슨이 아니라
제이쓴을 시샵화 시켜준 리스트가 여기에 들어가게 된다.
자 이제 리스트들을 넣었고
0번 1번 찾는 거보다 키값으로 찾기 쉽게 하기 위해 우리는
딕셔너리로 찾아줄 것이다.
공통적으로 모든 데이터를 딕셔너리로 해줄 것이기 때문에
DataBase라는 친구를 만들어 주어
데이터들에게 이 친구를 상속시켜 주기로 하자!
두 가지 유형이 있다.
둘 다 해줘야 한다.
첫 번째 친구
DataBase <T>는
Setdata를 통하여
클래스화 시켜주었던 친구들과
내 정보를 일치시켜 주는 역할을 한다.
즉
클래스화 시켜주었던 친구는 진짜 "클래스화"인 거고
이제 진짜 초기화를 해줘야지만
누가 누군지 알아보게 된다.
인스턴스화라고 하자.
JSON 데이터를 C# 클래스의 속성에 맞게 변환하고 초기화하기 위해서
요렇게 해주면 된다!
가끔
밑에처럼
또는
밑에 처럼
클래스화 해준 친구들에서
뭐 이것저것 묶고 싶다거나,
따로 분류해줘야 하는 상황이 있다.
그래서 기본 클래스화 시켜주는 친구를 meta라고 붙이고
내가 야무지게 가공할 친구들을 그냥 데이터로 붙여서 구분했다.
두 번째 친구는 아까 json을 리스트로 만들어 준 친구들을
딕셔너리로 바꿔주는 친구이다
키값과 가공한 파일에 넣을
딕셔너리를 만들고
메타데이터를 돌면서
초기화해 주고 값을 넣어준다.
여기서 item.setdata 또한 초기화라고 생각해 주면 좋다.
그리고 추가!
해주면 데이터 세팅이 완료된다
즉 딕셔너리 키값 안에 리스트들이 있는 셈이 되겠다.
그럼 이제 이 친구들을 쓸 수 있게 Load 해주어야 한다.
그 친구들은 DataManager에 있다.
item.setData를 통해
원본데이터를 살려두기 위해서 한 것.
<DataManager>
데이터를 로드하여 데이트베이스 객체를 초기화해주는 역할
우리는 ItemDB라는 객체를 반환해 줄 건데
itemDataList가 null이면 뒷부분이 실행되면서
loadData가 실행됩니다.
널이 아니면? 그냥 캐시 되어있던 데이터 반환
자
"ㅇㅅㅇ" 안에 있는 게 키이고
키 값으로 아까 만들어준 딕셔너리를 가져옵니다.
그다음에 data에 값을 넣어줄 건데
리스트를 또
jsondata를 C#에 맞게 초기화해주고
데이터를 넣어준다.
즉
itemDataList = new ItemDataList(); => ItemDataList 객체 생성
itemDataList.SetData(data.ItemData); => JSON 데이터를 매핑
return itemDataList; => 초기화된 객체 반환
넣기만 했는데 어떻게 실행되는 걸까?
아이템 디비가 실행된 후의 값이 items에 들어가는 것
ItemDB 호출하면 오른쪽 항이 실행되는 거고
return itemDataList === ItemDB
itemDB는 프로퍼티로
변수를 함수로 쓸 수 있게 해주는 친구
T는 가공된 것
M은 meta 컴퓨터만 알고 있는 것
그리고 Func를 통해 반환값을 가져올 수 있도록 하였고
우리는 가공된 친구를 가져와야 하기 때문에 T를 반환해 주도록
LoadData 앞에 T를 붙여두었다.
여기까지 하고..
주말동안 대본을 작성해야겠다.
Q setdata는 생성자 일까요?
A 다른듯 비슷한듯 합니다.
Q 캐싱과 매핑이 뭔지
A
매핑은 빈통에 값을 넣어주는것
파싱 데이터를 바꾸는것
캐싱은 하나의 데이터를 만들어두고 호출할 수 있게 사용하는것 ( 재활용 )
'오늘 공부를 정리해봐요!' 카테고리의 다른 글
[ 12月 24日 ] 오늘 내가 배운 것 _ 70日次 _ 크리스마스 이브엔 사운드매니저를! (1) | 2024.12.24 |
---|---|
[ 12月 23日 ] 오늘 내가 배운 것 _ 70日次 _ 오늘 발표 완료! (4) | 2024.12.23 |
[ 12月 19日 ] 오늘 내가 배운 것 _ 68日次 _ 오늘은 발표 자료 준비中 (1) | 2024.12.19 |
[ 12月 18日 ] 오늘 내가 배운 것 _ 67日次 _ UI는 어려워 (5) | 2024.12.18 |
[ 12月 17日 ] 오늘 내가 배운 것 _ 66日次 _ 튜터님은 츤데레👏 (4) | 2024.12.17 |