SaveGame 사용해서 게임 데이터를 저장 및 로드중입니다
이게 플레이어 데이터 저장 및 로드 함수입니다
CurrentMainQuickSlotIndex 는 문제없이 저장 및 로드가 되는데,
Level은 이상하게 로드가안됩니다.
log를 찍어보니깐 세이브 할때 index =1 , level = 1 이렇게 잘 저장이 되는데, 정작 로드하고나면 index =1 , level =0 이렇게 레벨은 로드가 안되네요
UPROPERTY 매크로를 안썻나?하고 보니깐 그것도 아님.. 둘 다 uproperty()에 int32엡니다
그럼 세이브게임 파일을 로드하자마자 로그를 찍은거라 status의 loadData함수가 문제도 아닌데 뭐가 문제일까요? 아무리봐도 문제가없어보이는데 몇시간 째 막혔습니다 ㅠㅠ
세이브파일 지우고 하면 어케댐
지우고 해도 똑같아요ㅇ
그럼 어디서 level 초기화하는거 아님?
아니 지금보니 로그를 로드하기 전에 찍는거 아님..?
USaveGameData* LoadedData = Cast(UGameplayStatics::LoadGameFromSlot(SaveSlotName, 0)); if (LoadedData) { UE_LOG(LogTemp, Error, TEXT("%d"), LoadedData->CurrentMainQuickSlotIndex); UE_LOG(LogTemp, Error, TEXT("%d"), LoadedData->Level); PlayerStatus->LoadData(LoadedData); PlayerInventory->LoadData(LoadedData); PlayerEquipment->LoadData(LoadedData); } 이니깐 로드 후에 로그 찍는거 아닌가요??
로그를 로드 전에 찍는다기엔 실제 플레이어 스테이터스 디테일에서봐도 다 0으로 초기화 되있더라구요 ㅠ
로그는 load하기 전에 찍고있는거 맞지 않나. 근데 index 는 1이 아니라 다른 값도 저장되고 불러와짐?
네 index는 012 원하는대로 저장되고 불러와지더라구요
그럼 loaddata에서 날려먹고 있다고밖에...
혹시 세이브게임 클래스 생성자가 문제일까요? 생성자에 아무것도 없긴한데
ㅅㅂ 머지 밥먹고 와서 파일 삭제하고 다시 해보니깐 갑자기 되네요; 코드도 안건드렷는데 머지;