2012-04-27
Unity3D Serialization
C# 에서의 직렬화
MSDN에 따르면, 클래스에 [Serializable()]
만 선언하면 자동적으로 직렬화가 되며, ISerializable 을 상속받아서 다음 함수를 재정의해도 된다.
- GetObjectData(): serialize 시 호출됨
- protected constructor: deserialize 에서 호출됨
Unity3d의 제약 조건
Unity3d SerializeField 문서에 따르면,
- static 필드, private 필드, property 는 자동 제외.
- 각 필드별로 넣으려면
[SerializeField]
, 빼고 싶으면[NonSerialized]
선언. - Dictionary, List of List, Array of Array 의 직렬화는 지원 안함
이렇게 하더라도 가끔 iOS에서 지원하지 않는 경우가 있으니, 꼭 디바이스에서 테스트해보기 바란다 :P