관리 메뉴

도드넷

유니티 변수 숨기기 조건부? [HideInInspector]을 넘어서.. 본문

창고/게임 개발 [Hidden]

유니티 변수 숨기기 조건부? [HideInInspector]을 넘어서..

도드! 2020. 7. 7. 11:15




유니티 변수 숨기기


[HideInInspector] 을 넘어서...



유니티 변수 숨기기의 기본은 [HideInInspector] 아트리뷰트다.



에디터/디자인상 변경하지 않는 보이지 않아도 되는, 내부의 public 변수, 프로퍼티 같은 경우

[HideInInspector] 를 이용해서 정리해주면 에디터가 깔금해진다.



하지만 우리는 그 이상을 원한다.


에디터상 현재 변수에 따라 연관된 다른 변수들을 숨기는 기능을 추가해보자.


아이템 타입(enum)이 "무기(Weapon)" 인 경우 드로우/하이드




아이템 타입(enum)이 "탄약(Ammo)" 인 경우 드로우/하이드



유니티 변수 숨기기 조건부 [HideInInspector] 애드온 설치법


1. Editor 폴더에 다음 스크립트 삽입.


DrawIfPropertyDrawer.cs


2. Asset 폴더에 다음 스크립트 삽입.


DrawIfAttribute.cs


3. 원하는 변수에 DrawIf 아트리뷰트 사용.



치명적인 단점 : List, Array 는 숨기지 못함 (왜!!)

스트링 형식으로 해당 변수를 검사하다 보니 변수 이름 변경시 수동으로 바꿔줘야함.

알수없는 스페이싱 버그 있는듯? 언제는 한칸띄고 언제는 안띄고함? 







반응형
Comments