그렇다구 병신에셋이란거 전혀아님, 좋은에셋이긴함.
근데 내가 어제 느꼈던것만큼 완전 자동으로 다해주는건 아닌듯. 인스펙터 까보니까 내부 데이터는 하나도 안들어오고 있더라.
그니까 어떤식이냐면 폰에는 액티브폰이라는 모노비헤비어 스크립트가 붙고 얘가 폰디폴트, 폰시뮬레이션 이라는 C#클래스인스턴스를 참조하거든
근데 이 폰이라는게 수십마리까지 생길 예정이다보니 저장을 어케해야할지가 고민임.
어제까지는 문서참고해서 폰들을 묶는 하나의 부모 오브젝트를 만들고 걔를 로드하는식으로 갔는데
이러니까 그 자식오브젝트가 참고하는 C#인스턴스를 되살릴 방법이 없더라.
음 지금생각하고있는 해결법으로는
1. 폰 인스턴스를 하나하나 순회하면서 폰디폴트, 폰시뮬레이션, 폰액티브를 따로따로 저장하고 로드시 적절히 연결시킴
이거나
2. 그냥 이지세이브로 게임오브젝트, C#클래스 저장자체를 포기하고 직접짜기
이렇게 고민하고있음
아마 이제 1번방법을 시도해볼텐데 굉장히 낫스마트한거같아서 질문함
스마트하게 폰 인스턴스를 저장 -> 모노비헤비어인 폰액티브 저장 -> 폰시뮬레이션, 폰액티브 저장
이렇게 한방에 되게하는 방법이 있을것같은데... 고수님들 있으면 조금 알려주셈. 구조를 조금 바꿔도 상관없음.
생각해보니 구조를 조금 바꿔야할것같긴하네. 폰액티브는 폰시뮬레이션의 하위. 폰시뮬레이션은 폰디폴트의 하위로.
이렇게 바꾼다고 하면은, (혹은 바꾸지 않는다고 하더라도) 이거 한방에 저장되게하는 좋은방법 있으면 추천좀 부탁드립니다.
1번 방법이 낫긴 할 텐데 이지세이브 쓰면서 느낀 게...사용자 정의 클래스/구조체 저장도 딸깍으로 구현해주는 게 분명 좋긴 한데 게임이 복잡해지고 저장당하는 객체가 클래스나 구조체를 같이 저장해야 하는 구조면 코드가 너무 복잡해지고 초기화 문제도 생기고 막 어지러워지는듯...나도 처음엔 인벤토리 데이터 아래에 아이템 슬롯 아래에 아이템 막 이런 구조로 세이브를 짰는데 결국 다 박살내고 단순하게 아이템 인덱스랑 소지 개수 연결하는 단순한 방식으로 다시 짬
근데 또 사실 이런식으로 짤 거면 이지세이브가 필요가 없어져버리는 문제가 ㅋㅋ..
흐음... 딸깍으로 해결할려다가 배보다 배꼽이 더 커질수있다는말이구만
그러게. 인벤토리- 아이템슬릇 -아이템1,2,3 이렇게 내려가기 시작하면 한도끝도없겠네
만약 림월드겜 만들면 세이브는 림월드 식으로 하는 게 편할듯 기억이 정확하진 않은데 객체마다 id를 붙여놓고 일단 모든 객체를 불러온 다음 의존관계 연결하는 식
헐.......
일단 세이브시스템부터 확정해야겠네.. 좆됐다......................
림월드의 경우 직렬화 역직렬화를 하드코딩급으로 하는 터라 추천할만한지는 모르겠음 더 나은 라이브러리가 있을수도
@ㅇㅇ(180.70) 모든 객체에 고유값 붙이기 vs 이지세이브 + 오딘 시리얼라이저 병용을 고민하고있음 일단 후자가 되긴하면은 무조건 후자로 하는게 낫겠지 덕분에 잘 찾아봤어. 감사!