일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- anonymous page
- 핀토스
- 연결리스트
- TiL
- 네트워크
- Unity
- 알고리즘
- 크래프톤 정글 4기
- 크래프톤정글
- C
- BFS
- 이벤트 함수 실행 순서
- 추상클래스와인터페이스
- 알고리즘수업-너비우선탐색2
- kraftonjungle
- 크래프톤정글4기
- 다익스트라
- 오블완
- 백준
- pintos
- project3
- c#
- 유니티
- User Stack
- 티스토리챌린지
- 크래프톤 정글
- 전쟁-전투
- 파이썬
- KRAFTON JUNGLE
- 4기
- Today
- Total
목록분류 전체보기 (160)
말감로그

어제 인벤토리 저장/로드를 구현했기 때문에 비슷한 방식으로 식물 데이터도 저장/로드하면 되겠다고 생각했다. 인벤토리의 경우에는 Inventory 클래스 내부에 정의된 Slot 중첩 클래스에 데이터들이 ItemData에 담긴 데이터와 똑같기 때문에 저장된 데이터를 인벤토리에 추가해주기만 하면 됐었다. 그러나 식물의 경우, PlantData엔 식물의 이름, 프리팹, 성장 단계에 맞는 타일 배열, 성장 시간 배열 등 정말 그 식물 자체의 데이터들만 담겨있다. 그래서 씨를 뿌린 식물의 위치, 성장 단계, 성장 시간, 타일의 상태 등 개별 인스턴스 정보를 저장하기 위해서 PlantSaveData라는 클래스를 따로 만들어 식물 데이터(PlantData) 뿐만 아니라 내가 씨를 뿌린 그 식물에 현재 상태도 저장하도록..

타이틀 씬에서 새로하기, 이어하기 버튼을 클릭 했을 때 각 저장된 인벤토리 데이터에 맞게 로드하고 인 게임씬으로 전환되도록 할 것이다. 우선 새로하기 버튼은 말 그대로 저장된 인벤토리 데이터가 없거나, 있는데 새로하려고 할 때 인벤토리 데이터를 지우고, 인벤토리를 초기화한다.이어하기 버튼은 저장된 데이터가 있을 때, 그 데이터를 불러와 게임을 이어서 플레이할수 있도록 한다. HasSavedInventory() 함수를 통해 해당 경로에 각 인벤토리 텍스트 파일이 존재하는지 확인해서 저장된 인벤토리 여부를 리턴한다.//InventorySave.cspublic bool HasSavedInventory(){ string backpackPath = Application.persistentDataPath ..

드디어 몇일동안 감을 못잡고 헤매기만 했던 인벤토리 저장&로드 시스템을 구현했다.. 우선 저장과 로드를 생각했을 때 제일 먼저 든 생각이 PlayerPrefs를 사용하여 시스템을 구현하자였다.그래서 PlayerPrefs로 인벤토리를 저장하려고하니, 인벤토리와 툴바의 슬롯에는 각 슬롯의 정보(이름, 아이콘, 갯수, PlantData 등) 많은 정보가 담겨있고 각 인벤토리의 슬롯 리스트를 담는 것에는 무리가 있다고 생각했다.그리고 PlayerPrefs으로 구현이 가능하다고 한다 해도 다른 방식을 사용하고 싶다는 생각도 있었다. 두번째로 Json을 활용해서 데이터를 직렬화해서 저장한 후 역직렬화를 통해 데이터를 로드하고자하였다. 그래서 현재 인벤토리를 받아 인벤토리의 데이터를 JsonUtility.ToJson..

호기, 물뿌리개, 도끼 등 필수적인 아이템을 팔지 못하게하고, 과일, 나무, 식물, 씨앗 등을 팔 수 있도록 분리하기 위해 Item Data에 isSellable을 추가하여 각 아이템에 맞게 설정해주었다. 그리고 판매 창을 열었을 경우, 툴바에서도 해당 아이템은 팔지 못한다는 것을 표시하기 위해 아이콘의 색상을 좀 더 어둡게 표시하고, 판매 창에서도 해당 아이템의 정보가 뜨지 않도록 했다. 그러기 위해서 Slot_UI.cs의 슬롯의 아이템을 세팅해주는 함수(SetItem)에서 현재 itemBox가 열려있고, 판매 불가능한 상품일 경우의 조건문을 걸어 color 변화를 주었다.// Slot_UI.cspublic void SetItem(Inventory.Slot slot){ if (slot != nu..