std::int32_t Core::CHooks::Present( IDXGISwapChain* pSwapChain, std::uint32_t uSyncInterval, std::uint32_t uFlags ) noexcept
{
	ImGui_ImplDX11_NewFrame( );
	ImGui_ImplWin32_NewFrame( );
	ImGui::NewFrame( );

	Core::UI::pMenu->Render( );

	Core::pRender->PrePresent( pSwapChain );

	ImGui::Render( );

	ImGui_ImplDX11_RenderDrawData( ImGui::GetDrawData( ) );

	const std::int32_t iResult = pfnPresent( pSwapChain, uSyncInterval, uFlags );

	Core::pRender->PostPresent( );

	return iResult;
}