본문 바로가기

Unity/Tips 13.05.06

[ 유니티(Unity 3D) 팁 ] 커스텀 클래스 멤버를 인스펙터에 노출 시키기

커스텀 클래스 멤버를 인스펙터에 노출 시키기


스크립트를 만들게 되면 스크립트 내부에 스크립트 이름과 똑같은 기본 클래스가 만들어 지게 된다.

이 기본클래스의 public 속성을 갖는 멤버는 기본적으로 인스펙터에 노출이 된다.


하지만 기본 클래스 내부에 하위 클래스를 따로 만들게 되면 하위 클래스의 멤버가 인스펙터에 절대로 노출 되지 않는다.


만약 하위클래스의 멤버를 인스펙터에 노출 시키고 싶다면 클래스 선언 문 위에 [System.Serializable] 을 적어주면 된다.




코드


public class MainClass{

[System.Serializable] // SubClass 의 public 멤버를 인스펙터에 노출시키겠다.

public class SubClass{

public string sName;

}

}



참고


만약 클래스의 멤버가 인스펙터에 노출되는 것을 의도적으로 막고 싶다면 

클래스 선언문 위에 [system.NonSerialized] 을 적어 주면 된다.




출처


 http://blog.naver.com/PostView.nhn?blogId=khagaa&logNo=30128920649