프로퍼티 변수를 사용하면 인스펙터에 노출이 되지않아 불편할때가 많다. 물론 아예 방법이 없는것은 아니다. public GameObject WrongBallProperty { get { return this.wrongBallProperty; } set { //do whatever } } [SerializeField] private gameObject wrongBallProperty; 이렇게 private변수를 하나 더 만들어서 연결해줘도 되고 인스펙터를 디버그모드로 변환해도 보이긴 보인다. 다만 뭔가 좀더 최소한으로 건드리면서 인스펙터에 노출시키는 방법을 메모한다. 그냥 SerializeField를 프로퍼티에 냅다 써버리면 이렇게 invalid하다고 뜨고 실제로 아무변화도 안생긴다. 하지만 앞에 field..
Draw a field only if a condition is met Until now when I wanted to make a field appear in the inspector I made a custom inspector, but I got tired of it, so I decided to make an attribute.... forum.unity.com 한 스크립트를 여러 게임오브젝트가 사용하여야 할 경우 오브젝트A에겐 필요하지만 오브젝트B에게는 필요없는 변수가 있을 수 있다. 물론 그런상황이 안오게 만드는게 베스트지만 어쩔수 없는 경우가 있을것이다. 그럴때 필요없는변수가 인스펙터에 노출되어 있다면 코드를 직접 짠사람이 코멘트를 남겨놨다해도 누군가 모르고 건드릴수 있는일이다. 그럴때 사용..
SerializableDictionary - Unify Community Wiki wiki.unity3d.com 유니티에서 Dictionary를 인스펙터에서 관찰할수있게 만든 커스텀 Dictionary 스크립트이다. 이런식으로 인스펙터에서 보여준다. 다만, 사용해보니 처음 초기화할때 기존 Dictionary는 new Dictionary(originDictionary) 이렇게 초기화하면 originDictionary의 컨텐츠가 카피된 상태로 초기화됐었는데 그 기능은 구현 안돼있다. C# Dictionary 복사 예제, 딕셔너리 class copy 사용법 Dictionary 복사. C# Dictionary에는 복사 생성자가 있습니다. 기존 딕셔너리 객체를 생성자로 넘기면 그대로 복사가 되는데, 현재로썬 가장..