어쩌다보니 데이터 하이어라키가 총 5개 클래스 이상을 사용하는 트리구조가 되어버렸는데
이번에 작업편의를 위해 모든 노드에 부모 역참조를 넣었거든
그러고나니 말단에 있는놈 생성자 코드에 이런게 생겨버림
...
Parent = parent;
Root = Parent.Parent.Parent.Parent;
...
참고로 저 Parent들은 전부 자료형이 다름
트리 내부가 전부 동적생성이라 부모역참조 있으면 디버깅할때 추적하기도 쉽고 나쁘진 않아보이는데
근데 모양이 좀... 그래...
용납 가능?
[FAQ]
Q) 자료형이 다 다르면 이름좀 다르게 지어라 왜 Parent로 퉁쳤냐
A) 어차피 IDE에 뜨는걸... 자료형...
Q) 5개 클래스 이상을 사용하는 트리 구조 자체가 문제 아니냐
A) ...그런가?
어차피 언리얼도 내 Character 클래스 도달까지 MyClass - Character - Pawn - Actor - Object 5단계임 ㅋㅋㅋㅋ
어차피 프로퍼티로 가져오면 내 눈엔 안보임 ㅋㅋ - dc App
해당구조가 고정되어있다면 상관없겠다면 그렇다면 그냥 참조 변수 넣는게 더 맘편할듯 - dc App
Root에 접근해야 할 일이 자주 있으면 개인적으로는 상위부터 Root 넘겨줄듯 Root에서는 this로 넣고 자식들은 전부 Parent.Root
이러면 코드도 간단해지고 혹시 중간에 뭐 추가해야 할때 나머지 수정할 필요도 줄어듬
나같으면 인터페이스로 전부 묶고 익스텐션 메서드로 FindParent<T>() 만들어서 parent is T 일때까지 부모 재귀순회할듯?