본문 바로가기

TIL

240315 최종프로젝트 덱 로직 구현 완료 및 카드 로직 구현 작업 중

덱 생성 / 생성과 동시에 카드 추가하여 바로 덱 만들 수 있도록 설정 / 덱 파괴 / 덱에 추가된 카드 정보 저장 구현 완료

 

처음엔 딕셔너리를 몰라서 클래스에 카드 index, 카드프리팹을 저장하고, 2차원 리스트로 중복 정보를 저장하려고 했지만, 작업하면서 해당 구조가 코드 구현(다시 봤을 때 이해의 어려움, 접근 방식의 불편함, 불필요한 메모리 낭비 등)상 굉장히 비효율적이라는걸 깨닫고, 더 나은 데이터 처리 집합이 있는지 찾고 물어봄

-> 딕셔너리에 대해 공부

 

딕셔너리를 활용해 다시 데이터 저장 및 로드 부분을 구현

 

Manager에 대해 잘못 이해해 manager에 저장해야되는 데이터(딕셔너리)만 구현 후, 기능적인 함수들을 해당 오브젝트의 cs에 구현

->함수에서 매번 데이터에 저장할 때 manager.Instance,,,,처럼 접근의 불편함

->튜터님께 물어봤더니 잘못 이해했고 Manager에서 데이터와 메서드를 선언해놓고, 각각의 오브젝트에 추가된 cs에서 해당 데이터와 메서드를 호출해 사용하는 방식임을 알게 됨

-> 수정 예정

 

덱 설정 화면에서 카드 선택 시 덱에 미니카드 프리팹 생성 후 선택한 카드의 정보를 저장하는 방식으로 구현

-> 버그 발생(덱에 카드 추가 시 다른 덱 클릭해도 같은 덱 보여줌 / 미니 카드 삭제 안 됨 / 덱 삭제 안됨)

 

덱 삭제 안 되는 버그 -> 디버깅으로 추적해본 결과 덱 프리팹 생성 시 index를 0으로만 저장되도록 설정되어 있어 삭제해도 다음 덱의 index도 0이라 같은 덱이 생성된 것 -> 매번 덱 생성마다 index 값 증가하도록 설정하여 해결

 

덱에 카드 추가 시 다른 덱 클릭해도 같은 덱 보여줌 -> 각 덱마다 덱이 가지고 있는 미니 카드 프리팹을 생성 및 파괴가 빠져있어, 첫 덱의 미니카드만 보여주고 있는 상태 -> 작업 중

 

미니카드 삭제 안 됨 -> 카드들의 중복되는 스탯이 몇 개 없고 스탯이 다 달라 미니카드가 스탯을 받아오려면 비효율적인 방식으로 작업을 해야하기에 스탯 부분은 미구현 상태였음 그래서 정보도 못 가져오고 삭제도 못하는 상태 -> 카드들의 스탯을 정리한 이후 작업 예정

 

https://github.com/baedonggeun/Defence_Game