게임 엔진/유니티
[유니티] 설정한 Enum 값 고정시키기
코딩너구리
2025. 5. 4. 15:37
게임에서 아이템, 스킬 등 캐릭터에게 스텟효과를 부여하거나, 특정 직업이나 버프를 걸어야 할 경우.
해당 데이터의 타입을 enum으로 짓는 경우가 있다.
나 같은 경우는 전직을 하기 위해서는 Trait이라는 고유 특성을 모아 전직하는 시스템이 있다.
그리고 이 데이터는 ScriptableObject에 담아두고 있다.
여기서 특성을 통해 전직 가능한 직업들을 List로 담아 저장해두는데 여기서 문제가 발생한다.
추가로 직업을 만들어야 하거나, 삭제해야할 때 또는 위치를 조금이라도 바꾸려고 하면..
이렇게 밀려버리는 현상이 발생해 예기치 못한 버그를 발생하고, 해당 enum을 저장해두었던 모든 오브젝트를
수정해야하는 번거로움이 발생한다.
이러한 문제를 해결하기 위해서는 enum의 이름을 잃어버리지 않도록 string 변수이용할 수 있다.
이런식으로 String을 통해 enum의 데이터를 고정 시킬 수 있다. 그러면 나중에 enum에 값을 손쉽게 수정이 가능하다.