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

참고 자료


comments powered by Disqus