모노비헤이비어를 상속받지 않는 데이터 클래스에 id값을 부여하고 싶습니다.
아이템의 원형 데이터 값이 SOItemInfo(ScriptableObject)에 저장되어있습니다.
이를 기반으로 아이템 데이터 클래스 ItemInfo가 생성됩니다.
ItemInfo가 모노비헤이비어를 상속할 필요가 없어서 instanceID를 쓸 수가 없어서 제가 따로 부여하려고 하는데
ItemInfo는 아이템을 얻거나 사면 새롭게 생성되어 ID가 부여되고 팔게 되면 ID값을 반환하게 하려고 합니다.
부여하는건 단순하게 순차적으로 값을 부여하면 될 것 같고 반환하게 되면 해당 ID값을 재사용할 수 있어야하는데 이걸 어떻게 관리해야할지 감이 잘 오지 않네요
단순히 int형 변수를 담는 리스트를 만들어서 최초에 ID값을 왕창 넣어놨다가 ID값을 넣었다 뺐다하는건 너무 비효율적일 것 같아서요 지금의 제 경우는 아니지만
대형 게임들 같은 경우에는 ID값이 방대하게 필요할텐데 어떻게 관리되는지 궁금합니다. 따로 검색해보려고 해도 잘 못찾겠네요
답변해주시면 감사하겠습니다.
겜알못 서버개발자인데요. 사용한 ID 를 왜 재사용 하시려고 하나요. 그냥 버리는게 쉬울뿐더러 고유아이디로 사용한다면 해당값을 참조한 다른 데이터에서 의도하지 않은 결과가 나오기 쉬울 것 같은데요.
뒷얘기가 있군요. 방대한 아이디 처리. 데이터 사이즈와 가독성이 관계없다면 uuid 사용하면 되고 밀리세컨단위로 타임스탬프 사용하시고 그것도 꽤 기니 64진수로 바꿔서 사용하실 수 있어요.
나름 극한의 경우를 생각해본다고 한거였는데 생각할 필요가 없던 거였네요. 조언해주셔서 감사합니다. 최초에 ID값을 부여해주기만 하면 되겠네요
굳이 id 재사용할 이유가 없을 텐데. 4바이트 짜리 int여도 1초에 1개씩 아이디 써도 다 쓰려면 100년 걸림
조언해주셔서 감사합니다