* 기존에 만든 Dice 시스템을 수정했다. 인벤토리의 용량과 소지골드를 체크하고 bool 타입을 조건으로 로직을 제어했다. 플레이어의 상태를 체크하는 시점을 먼저 생각했다. 'GO!' 버튼을 누르면 플레이어는 겜블을 시도하는데 이때가 체크하는 시점으로 보였다. 기존의 로직과 조금 달라진 점은 골드부족이나 용량 부족으로 인해 겜블이 불가능하다면 버튼을 비활성화 (0.5f초) 한 후 다시 활성화 하는 로직으로 변경 했다. *수정된 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.U2D; using UnityEngine..

* 만들어 놓은 UIShop을 팀원이 멋지게 만들어 놓은 UIInventory와 연동하는 작업, 드랍된 아이템, UIInventory와 연동을 했다. 먼저 서로 상호 작용하는 경우를 생각해 봤다. *UIShop , UIInventory와 연동 1. 상점에서 구입한 아이템이 인벤토리에서 "Cell" 형식으로 생성이된다 - 인벤토리 용량을 체크한 후 용량이 있다면 생성, 용량이 없다면 생성되지 않는다 2. 인벤토리에 아이템이 잘 들어갔다면? 캐릭터의 능력치가 향상이된다 - UIShop => UIInventory => Player 순으로 이벤트 디스패쳐를 통해 전달된다. *UIShop , UIInventory와 연동 // 상점에서 아이템을 구입 (인벤토리 용량을 체크하는 상호작용) *드랍된 아이템, UIInv..

* 유니티로 프로잭트를 진행 하던 중 처음보는 오류 메세지들이 보였다. 단순히 Clear 하고 실행 할 수 없는 오류메세지로 보여서 자료를 찾아봤다. GPT에 도움을 받았다. 이 오류가 어떤 뜻인지 먼저 물어봤다. 실행 시 StackOverflowException: The requested operation caused a stack overflow. 오류도 같이 보이기 시작헀다 뭔가 원인을 찾아야한다. 어느 시점에서 스택메모리가 다 차고 데이터가 저장이 안되는지 찾았다. 지금 구현하고있는 상황인 "아이템을 드랍하고 플레이어가 충돌 시 해당 아이템이 사라짐" 이 상황에서 문제가 생겼었다. 자료를 찾아보니 일반적으로 호출 스택이 너무 깊게 들어간 문제라 한다. 호출 스택의 깊이를 줄이는 것이 필요하다. 그..

* 보상상자인 Chest를 구현중이다. Chest의 출연조건은 룸을 클리어 한다면 플레이어의 위치에서 보상상자가 등장하고, 보상상자와 충돌반응이 있다면 상자에서 랜덤한 아이템이 등장하게된다. 먼저 보상상자를 출연시킬 조건을 구현할 필요가 있었다. 룸을 클리어 할때가 어느 시점인지 파악해야한다. 몬스터를 소환하는 스크립트에서 제어를 했다. 몬스터의 소환이 끝나는 시점이 룸 클리어 시점이었다 룸이 끝나는 시점에서 미리 만들어 둔 이벤트 디스패쳐를 이용하여 상자를 생성하는 이벤트를 발생시켰다. 스크립트 작성 전에 상자를 생성하는 기능과 상자에서 아이템을 드랍하는 기능을 모두 갖춘 스크립트를 만들고 생성하는 이벤트들을 AddLitener로 등록해두었다. *ChestItemGenerator using System..