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

using UnrealBuildTool;
using System.IO;

public class PortaInterface : ModuleRules
{
	public PortaInterface(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

		string SocketInclude = Path.Combine(ModuleDirectory, "../ThirdParty/socket.io-client-cpp/src");


        PublicIncludePaths.AddRange(
			new string[] {
				// ... add public include paths required here ...
				SocketInclude
            }
			);
				
		
		PrivateIncludePaths.AddRange(
			new string[] {
				// ... add other private include paths required here ...
			}
			);
			
		
		PublicDependencyModuleNames.AddRange(
			new string[]
			{
				"Core",
				// ... add other public dependencies that you statically link with here ...
				"HTTP",
				"Json",
				"JsonUtilities",
				"LevelSequence",
				"MovieScene",
				"MediaAssets",
				"RigVM",
				"ControlRig",
				"Serialization",
				"Paper2D",
				"RemoteControl",
                "RuntimeAudioImporter",
                "DeveloperSettings",
                "Json",  // Add this line if it's missing
                "JsonUtilities" 
            }
            );
			
		
		PrivateDependencyModuleNames.AddRange(
			new string[]
			{
				"CoreUObject",
				"Engine",
				//"Slate",
				//"SlateCore",
				//"InputCore",
				//"UnrealEd",
				//"LevelEditor",
				// ... add private dependencies that you statically link with here ...	
				"OpenSSL",
			}
			);
		
		
		DynamicallyLoadedModuleNames.AddRange(
			new string[]
			{
				// ... add any modules that your module loads dynamically here ...
			}
			);
        if (Target.bBuildEditor == true)
        {
            PrivateDependencyModuleNames.Add("LevelEditor");
            PrivateDependencyModuleNames.Add("UnrealEd");
            PrivateDependencyModuleNames.Add("Settings");
        }

		string path = Path.Combine(ModuleDirectory, "../ThirdParty/socket.io-client-cpp/Release/sioclient_tls.lib");
		PublicAdditionalLibraries.Add(path);
    }
}
