-
[Unity Engine] [Unity3D] 사소한 디버깅 팁.2016.06.03 AM 12:29
1.아시겠지만 Unity3D에는 디버그모드가 있긴 있습니다.
이렇게 누르면...
구지 Serialize를 안해도 private값을 확인할 수 있습니다.
예로부터 프로그래머는 마우스를 멀리하라 그랬다. 클릭하기 넘나 귀찮은것...
그래서 단축키를 쓰는 방법을 없을까 생각해 보았다.
http://pastie.org/10862394#
이렇게 단축키 추가가 가능하다. ItemMenu의 마지막문자열을 기준으로 단축키가 지정 되는데
여기서는 [시프트 + 컨트롤 + D] 로 설정되었다.
이제 단축키로 Inspector의 모드를 변경할 수 있다.
* 위 소스코드가 더려운 이유는 InspectorWindow라는 클래스가 외부에서 접근 불가능한 Internal이기 때문이다.
Reflection을 사용해서 강제적으로 접근하여 맴버값을 알아내고 함수를 사용해서 그렇다. 별로 좋은 방법은 아니지만
뭐 딱히 방법이 생각나지 않아 이런 식의 삽질을 해봤다.
* 만약 Inspector를 여러개 쓴다면 그에 맞게 수정해 주어야 한다.
-Reference
유니티 디컴파일 소스
https://github.com/MattRix/UnityDecompiled
유니티 스크립트 레퍼런스 MenuItem
https://docs.unity3d.com/s!cripReference/MenuItem.html
**수정1 : 단축키 관련 설명 추가
**수정2 : 코드수정
댓글 : 3 개
- 참치 마요
- 2016/06/03 AM 01:19
지나가던 현직 유니티 클라 개발자입니다. 방금까지 야근하다가 12시 반쯤에 겨우 들어와서 컴터 틀어봤습니다.
오옹..리플렉션이 public 아닌 멤버변수에 강제 접근가능하다고는 배웠는데, 실제로 이렇게 쓸 수 있군요. 뭔가 사도스러운 느낌이 살짝 들지만 신기방기 합니다.
어셈브리에 쿼리처럼 짜서 접근하는 것도 신기하네요. 오늘 좋은 거 많이 보고 갑니다 ! 감사감사!
오옹..리플렉션이 public 아닌 멤버변수에 강제 접근가능하다고는 배웠는데, 실제로 이렇게 쓸 수 있군요. 뭔가 사도스러운 느낌이 살짝 들지만 신기방기 합니다.
어셈브리에 쿼리처럼 짜서 접근하는 것도 신기하네요. 오늘 좋은 거 많이 보고 갑니다 ! 감사감사!
- 잘자염
- 2016/06/03 AM 01:31
수고하십니다. ㄷㄷ 개발자는 진짜 고달프네요.
- 참치 마요
- 2016/06/03 AM 01:35
ㅎㅎ 아이디 잘 지으셨네요. 이제 자려구요. 종종 들려서 좋은 강좌 잘 보겠습니다 !
user error : Error. B.