다른 건 다 저장되는데 conditionList가 저장 안되는 문제 발생.
custom Inspector를 만들기 위해 따로 tempCondSO로 감싸서 생긴 문제 같은데,
엣지를 처음 만들었을 땐 저장이 안되고, 다시 load했을 땐 저장이 되는 증상.
: 디버그를 통해 확인해보니 런타임에 만든 edge는 conditionlist가 null로 뜸.
fromNode에 넣기 위해 새로 만든 TextEdge 인스턴스 안에 conditionList가 들어있는데,
이를 EdgeElement와는 연결시켜주지 않아서 생겼던 일.
edge에 이벤트도 같이 넣기
: conditionList의 참조만 edgeElement에 넣어놓는게 아니라 아예 TextEdge를 참조하는 것으로 변경.
갑자기 멀쩡히 작동하던 클래스의 namespace가 망가져버림. 클래스 이름 바꾼 다음 다시 컴파일해보니 멀쩡해짐.
tempSO를 CreateInstance<T>()를 사용해서 만들고 있었는데, 이걸로 만들면 custom 생성자 사용 못 하는 거였음. 불필요한 생성자들 다 제거함.
UnityEvent도 할당할 수 있게 변경했는데, 이번에는 이벤트가 저장이 안됨. 참조 값이 어떤 상황에서도 저장이 안됨.
ExposedReference<T>라는게 있다길래 사용해보려고 했는데, 이건 결국 오브젝트 정보 테이블이 필요하다고 함. 이럴바에 진짜 오브젝트 정보를 저장하는게 낫다고 함.NotSupportedException: An element can track properties on only one serializedObject at a time 오류가 뜸.ExposedReference<T>로 시도해보기. timeline도 이걸로 구현된거니 괜찮을 것.event object field에 있는 객체가 아예 접근 불가능하진 않음.
debug.Log로 확인해봄. 에디터 임시 객체에 씬 인스턴스를 잠시 할당하고 있는 것까지는 확실히 된다.
이거면 구현 가능.