[TIL] 32일차 - 개인 과제 중

김유원·2024년 2월 6일
0

📝 24.02.06

예상은 했지만 개인 과제 완성이 생각보다 더 늦어질 것 같다. UI 틀은 전부 만들었지만, 생각보다 기능 구현에 있어서 오래 걸리고 있다.

그 중 가장 많은 시간을 잡아먹은게 바로 ScriptableObject 에서 수정 사항이 반영되지 않는 오류였다.

기존의 ItemData에는

public enum ItemType
{
    Weapon,
    Armor,
    Consumable
}

public enum EquipType
{
    Atack,
    Defense
}

ItemType이 이렇게 구성되었었다.

하지만 EquipType에서 공격력 증가 아이템인지, 방어력 증가 아이템인지 이미 구분이 되고 있으므로 굳이 ItemType에서 Weapon,Armor를 구분할 필요 없다는 생각이 들어서

public enum ItemType
{
    Equipable,
    Consumable
}

public enum EquipType
{
    Atack,
    Defense
}

이렇게 수정하였다.

당연히 수정하고 나면 기존에 생성되어있던 아이템들도 정정될 줄 알았는데 그러지 않았을 뿐더러 새로운 아이템도 수정된 방향으로 생성되지 않았다!!

여기서 멘탈이 붕괴되었다...

그래서 일단은 기존의 아이템들을 다 삭제하고 (혹시 몰라 Package로 export해두긴 했다.) 다시 아이템을 생성해보았는데 여전히 구버전의 ItemTpye을 가진 ScriptableObject만 생성되는 것이다...

스크립트를 삭제해보고 다른 AssetMenu 이름으로도 수정해보고 별 방법을 다 써봤지만 해결할 수 없었다.


그래서 결론적으로 고쳤느냐? 하면 고쳤다.
어떻게 했냐면 바로 프로젝트를 닫았다 다시 열었다. 😂 바로 새로운 아이템 타입을 가진 아이템으로 생성되기 시작했다...기존의 아이템들은 이미 삭제한 상태라서 이 방법이 먹힌 것인지는 정확하게 모르겠지만 아무튼 기존 아이템 데이터가 없는 상태에서 프로젝트를 껐다가 켜면 해결된다는 것을 알 수 있었다.

다른 상태에서도 해당 방법이 먹히는 지는 모르겠다... 아무튼 해결되었다. 오늘도 얼렁뚱땅 유니티 오류 해결 완😅👍

profile
개발 공부 블로그

0개의 댓글

관련 채용 정보