도킹 시스템 구현했습니다. 사실 ImGui에서 만들어져있는거 전에 그대로 포팅한 걸

ImGui 도킹 브랜치 버전으로 세팅하고 다시 포팅했습니다.

버튼추가나 기능 넣는데 편하게 될 것 같네요.

컨테이너가 관리하는 각 레벨 계층마다 UI를 자기가 넣을 수 있게끔 창 렌더링이 개별적으로 동작합니다

 

 

 

 

로그 편의기능도 좀 손봤습니다. 각 생성자마다 NR_CORE_INFO_CTOR or DTOR 매크로 붙여주면 알아서 로그 출력해주는 기능입니다

 

다만 처음에는 클라이언트 진입 포인트(일종의 int main)에서 직접 Log 관련 클래스를 초기화(init)해주고 사용하는 방식을 사용 했었는데, 일부 static 클래스들이랑 런타임시 외부 참조 에러가 나서, 그냥 Log 클래스를 전역 싱글톤으로 리팩토링 했습니다.

 

참고로 로우포인터를 컨테이너가 직접 해제 시켜주는 구조인데 나중에 shared 포인터로 바꿀지 고민좀 해봐야겠습니다.

 

 

대충 위에처럼 로그가 잘 출력됩니다

 

 

 

 

 

 

이외에도 위에처럼 키 이벤트 폴링 시스템도 구현했습니다.

예를 들어서 클라이언트 쪽에서 KeyInput::GetInstance()::IsPressedKey( 확인하고자 하는 키 ) 를 호출하면 키가 눌리면 바로 Input에서 이벤트를 폴링해서 bool 변수를 반환해주는 기능입니다.

AttachCallback은 델리게이트처럼 콜백 함수를 등록해서 특정 키가 눌리면 함수가 호출되게끔 하는 기능입니다.