mirror of
				https://github.com/kevinporetti/UnrealImGui.git
				synced 2025-11-04 07:33:18 +00:00 
			
		
		
		
	Fixed Linux and standalone compile errors.
This commit is contained in:
		
							parent
							
								
									a76f4bc451
								
							
						
					
					
						commit
						16056820e9
					
				@ -3,11 +3,32 @@
 | 
			
		||||
#include "ImGuiDelegatesContainer.h"
 | 
			
		||||
 | 
			
		||||
#include "ImGuiModule.h"
 | 
			
		||||
#include "Utilities/RedirectingHandle.h"
 | 
			
		||||
#include "Utilities/WorldContextIndex.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Redirecting handle which will automatically bind to another one, if a different instance of the module is loaded.
 | 
			
		||||
#if !WITH_EDITOR
 | 
			
		||||
//
 | 
			
		||||
// Non-editor version without container redirection
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
static FImGuiDelegatesContainer DelegatesContainer;
 | 
			
		||||
 | 
			
		||||
FImGuiDelegatesContainer& FImGuiDelegatesContainer::Get()
 | 
			
		||||
{
 | 
			
		||||
	return DelegatesContainer;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif // !WITH_EDITOR
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if WITH_EDITOR
 | 
			
		||||
//
 | 
			
		||||
// Editor version supporting container redirection needed for hot-reloading
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
#include "Utilities/RedirectingHandle.h"
 | 
			
		||||
 | 
			
		||||
// Redirecting handle which will always bind to a container from the currently loaded module.
 | 
			
		||||
struct FImGuiDelegatesContainerHandle : Utilities::TRedirectingHandle<FImGuiDelegatesContainer>
 | 
			
		||||
{
 | 
			
		||||
	FImGuiDelegatesContainerHandle(FImGuiDelegatesContainer& InDefaultContainer)
 | 
			
		||||
@ -47,6 +68,9 @@ void FImGuiDelegatesContainer::MoveContainer(FImGuiDelegatesContainerHandle& Oth
 | 
			
		||||
	GetHandle().SetParent(&OtherContainerHandle);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif // WITH_EDITOR
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int32 FImGuiDelegatesContainer::GetContextIndex(UWorld* World)
 | 
			
		||||
{
 | 
			
		||||
	return Utilities::GetWorldContextIndex(*World);
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,9 @@
 | 
			
		||||
#include <Delegates/Delegate.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if WITH_EDITOR
 | 
			
		||||
struct FImGuiDelegatesContainerHandle;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
struct FImGuiDelegatesContainer
 | 
			
		||||
{
 | 
			
		||||
@ -15,11 +17,13 @@ public:
 | 
			
		||||
	// Get the current instance (can change during hot-reloading).
 | 
			
		||||
	static FImGuiDelegatesContainer& Get();
 | 
			
		||||
 | 
			
		||||
#if WITH_EDITOR
 | 
			
		||||
	// Get the handle to the container instance (can attach to other handles in hot-reloaded modules).
 | 
			
		||||
	static FImGuiDelegatesContainerHandle& GetHandle();
 | 
			
		||||
 | 
			
		||||
	// Redirect to the other container and if this one is still active move its data to the other one.
 | 
			
		||||
	static void MoveContainer(FImGuiDelegatesContainerHandle& OtherContainerHandle);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	// Get delegate to ImGui world early debug event from known world instance.
 | 
			
		||||
	FSimpleMulticastDelegate& OnWorldEarlyDebug(UWorld* World) { return OnWorldEarlyDebug(GetContextIndex(World)); }
 | 
			
		||||
 | 
			
		||||
@ -26,8 +26,8 @@ public:
 | 
			
		||||
	FTextureManager& operator=(const FTextureManager&) = delete;
 | 
			
		||||
 | 
			
		||||
	// Moving transfers ownership and leaves source empty.
 | 
			
		||||
	FTextureManager(FTextureManager&&) = default;
 | 
			
		||||
	FTextureManager& operator=(FTextureManager&&) = default;
 | 
			
		||||
	FTextureManager(FTextureManager&&) = delete;
 | 
			
		||||
	FTextureManager& operator=(FTextureManager&&) = delete;
 | 
			
		||||
 | 
			
		||||
	// Initialize error texture that will be used for rendering textures without registered resources. Can be called
 | 
			
		||||
	// multiple time, if color needs to be changed.
 | 
			
		||||
 | 
			
		||||
@ -167,10 +167,10 @@ public:
 | 
			
		||||
private:
 | 
			
		||||
 | 
			
		||||
#if WITH_EDITOR
 | 
			
		||||
	virtual void SetProperties(const FImGuiModuleProperties& Properties);
 | 
			
		||||
	virtual struct FImGuiContextHandle& GetImGuiContextHandle();
 | 
			
		||||
	virtual struct FImGuiDelegatesContainerHandle& GetDelegatesContainerHandle();
 | 
			
		||||
	friend struct FImGuiContextHandle;
 | 
			
		||||
	friend struct FImGuiDelegatesContainerHandle;
 | 
			
		||||
	virtual void SetProperties(const FImGuiModuleProperties& Properties);
 | 
			
		||||
	virtual FImGuiContextHandle& GetImGuiContextHandle();
 | 
			
		||||
	virtual FImGuiDelegatesContainerHandle& GetDelegatesContainerHandle();
 | 
			
		||||
#endif
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user