// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;

public class VHMap : ModuleRules
{
	public VHMap(ReadOnlyTargetRules Target) : base(Target)
	{
		// Prebuilt distribution: the compiled module ships in Binaries/, so tell UBT
		// to use it instead of compiling sources that are not part of this package.
		bUsePrecompiled = true;

		PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;

		PublicDependencyModuleNames.AddRange(new string[] {
			"Core",
			"CoreUObject",
			"Engine",
			"Slate",
			"SlateCore",
			"EditorStyle",
			"UnrealEd",
			"LevelEditor",
			"ToolMenus",
			"Json",
			"JsonUtilities",
			// Used directly for dependency analysis, the security scanner and
			// base-release validation. Previously resolved transitively via UnrealEd,
			// which is not guaranteed across engine versions.
			"AssetRegistry"
		});

		PrivateDependencyModuleNames.AddRange(new string[] {
			"InputCore",
			"Projects",
			"DesktopPlatform",
			"KismetCompiler",
			"ToolWidgets",
			// FPluginUtils, for creating and mounting mod content plugins.
			// Lives in the engine's Developer/PluginUtils plugin (enabled by default),
			// not in UnrealEd.
			"PluginUtils",
			// IMainFrameModule, for hooking the startup readiness check to the point
			// where the editor window actually exists.
			"MainFrame",
			// WorkspaceMenu::GetMenuStructure(), for placing the diagnostics and
			// workshop tabs in the Window menu.
			"WorkspaceMenuStructure",
			// Decoding the Workshop panel's preview image and screenshots for the
			// in-editor thumbnails, and for validating their dimensions.
			"ImageWrapper",
			// IAssetTools::FixupReferencers, for clearing the redirectors left behind
			// when a mapper moves an asset into their map's plugin folder.
			"AssetTools",
			// FlushRenderingCommands, for draining the render thread before the importer
			// deletes the copies it made. Pulled in via RenderingThread.h, which is not
			// reachable through UnrealEd.
			"RenderCore",
			// Fetching version.json for the update check. The only network call VHMap makes.
			"HTTP"
		});
	}
}
