반응형

Unity의 UI쪽 컴포넌트를 주로 많이 사용하고 있는데
예를 들면 ScrollRect라던가 Button, Text 등등 많이 많이 사용하는 중이다.
근데 너무 잘 만들어진 이 컴포넌트들도 사용하다 보면 약간의 변형을 해서 사용해야 할 경우가 있는데 문제는 상속받아와서 직접 커스터마이징 한 파일을 게임오브젝트에 적용을 하면 내가 추가한 변수들이나 요소들이 Inspector에 보여지지 않고 기존의 상속했던 클래스의 인스펙터 내용만 보여지게 된다.

해결책은 파일 하나만 만들어주면 된다.
Assets폴더 안에 Editor폴더를 하나 만들고 원하는 이름으로 파일을 하나 만든다. 이 때 파일 이름은 “커스터마이징 한 클래스의 이름+Editor.cs” 로 만드는게 헷갈리지 않을 것이다.

아래 예제로 작성한 파일의 LevelHandler라는 클래스는 ScrollRect를 상속받아와서 커스터마이징한 파일이다. Inspector의 내용이 기존 ScrollRect의 내용으로 바뀌지 않는데 아래와 같이 해주면 추가한 부분들이 기존 내용 아랫쪽으로 보여지게 된다.

파일 내용은 다음과 같이 작성하면 된다.

중요한건 3번째 줄 부분이다.
[CustomEditor(typeof(커스터마이징 한 클래스))]

(추가하기 전 Inspector 모습)

%ec%8a%a4%ed%81%ac%eb%a6%b0%ec%83%b7-2016-10-24-%ec%98%a4%ed%9b%84-4-32-52

(추가 후 Inspector 모습)

%ec%8a%a4%ed%81%ac%eb%a6%b0%ec%83%b7-2016-10-24-%ec%98%a4%ed%9b%84-4-33-19

기존 내용의 아랫쪽으로 내가 추가 한 내용들이 보여지는 것을 확인 할 수 있다.

반응형

+ Recent posts