ExposedReference는 그냥 PropertyName 자료형을 들고있는 구조체
PropertyName 저장하면 string 해시 테이블에 등록돼서 변환 후엔 비교할 때 정수처럼 비교해서 빠르다
Resolve는 PropertyName으로 테이블에서 오브젝트 참조를 찾는 것을 의미함
PlayableDirector의 resolver 기능을 대체하려면 IExposedPropertyTable 인터페이스 구현체를 만들어야 한다
게임 오브젝트를 destory하면 그 참조를 들고 있는 놈이 있어도 유니티에서 알아서 그 내용물은 gc처리 하도록 mark함. 메모리 누수 안 일어남. 누수가 일어나는 건 c# wrapper 껍데기 뿐이다.
UnityEvent를 억지로 만들어서 objectField에 올려놓는게 아니라
런타임에 사용하기 위한 TTEvent를 그대로 Custom PropertyDrawer로 만들어서 올리려고 했는데
ExposedReference로 자료형을 선언하면 씬에 있는 GameObject가 연결이 안됨.
별도의 TTEvent_GO를 선언해서 SerializedObject에는 List<TTEvent_GO>를 선언
arg를 설정하는게 까다로워서 일단 보류.
파라미터를 여러 개 넣을 수 있는 방법도 고안해야 함.