ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스파르타 최종프로젝트 6일차
    게임 개발기록 2024. 7. 2. 10:52

    1. CSV로 데이터 관리하기

    csv를 사용하여 데이터를 만들고 가져와서 유니티에서 적용 되게 했다. 

     

     

    처음엔 이런 식으로 정리를 했으나 이렇게 하는 것보단

     

    이렇게 가로로 쭉 나열해서 정리 하는 게 더 좋다. 튜터님이 추천 해주셨다. 

    이렇게 엑셀에 데이터를 입력 해두고 유니티로 가져와서 활용 해주게 했다. 

     

    먼저 엑셀에 이렇게 정리를 해서 나는 List로 꺼내왔다. 보통 Dictionary로 저장 하는 것 같았다. 

     

    List로 저장해서 값을 넣어줄 경우에는 하나씩 전부 다 입력 해주는 게 맞다고 한다. 

     

    이렇게 List를 만들어주고, 이 List의 갯수가 내가 만들어둔 Unit의 개수이므로 이 List의 갯수만큼 유닛을 생성 하는 오브젝트를 만드려고 했다.

     

    그런데 좀 복잡하다. 

    UnitData라는 클래스 안에 UnitStatData라는 클래스를 만들어놨고, 이 CSV로 만드는 List는 UnitStatData 형식이다. 

     

    유닛을 생성 하는 오브젝트에 UnitData가 들어있는데, 그 오브젝트가 갖고 있는 UnitData의 UnitStatData를 이 List의 n번째로 초기화 하게 했었다.

     

    그러기 위해서는 UnitController가 UnitData를 갖고 있어야 했는데, 나는 이것을 프리펩으로 드래그엔 드롭 해서 넣어놨었다. 

     

    그리고 이 UnitController도 프리펩으로 만들어 놓고, List만큼 이 UnitController를 생성하게 했는데 문제가 있었다.

     

    UnitController가 다 같은 UnitData를 참조 하는 문제였는데, 나는 이 UnitController를 생성 하면 얘가 갖고 있는 모든 것을 새로 생성 하는 것인줄 알고 있었다.

     

    그게 아니라 UnitController만 생성이 되고, 얘한테 드래그 엔 드롭으로 지정해둔 프리펩은 생성을 하는 게 아니라, 참조를 하게 되는 것이다. 

     

    그래서 구조를 바꿔야 했다. 처음에는 UnitController를 생성 할 때 Data도 새로 생성 해서 넣어줬다. 

     

    그런데 좋은 거 같지가 않아서 다시 바꿨다. 

     

    먼저 UnitData를 SataList만큼 생성을 하고, UnitDataList에 추가 했다

    그리고 UnitDatList의 갯수만큼 UnitController를 생성 하게 했다. 

     

    그냥 statList만 사용해도 될 것 같지만, 나중에 stat뿐만 아니라 다른 것도 넣어주게 될 것 같아서 굳이 이 방법을 선택 했다. 

     

    이렇게 해서 엑셀에 만들어둔 유닛의 정보만큼 Unit을 생성하는 오브젝트가 생성 되게 만들어봤다. 

     

    그런데 지금 방식으로 하니 오브젝트를 너무 많이 생성한다. 나중에 다시 생각 한 번 해봐야겠다. 

     

    내일목표:빅인티저 마무리, 화면스크롤기능, 2순위들 시작

     

Designed by Tistory.