// Copyright CodeSpartan, 2022. All rights reserved.

using UnrealBuildTool;

public class MMOKitCode : ModuleRules
{
	public MMOKitCode(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
		
		PublicIncludePaths.AddRange(
			new string[] {
				// ... add public include paths required here ...
			}
			);
				
		
		PrivateIncludePaths.AddRange(
			new string[] {
				// ... add other private include paths required here ...
			}
			);
			
		
		PublicDependencyModuleNames.AddRange(
			new string[]
			{
				"Core",
                "CoreUObject",
                "Engine",
                "InputCore",
				// ... add other public dependencies that you statically link with here ...
			}
			);
			
		
		PrivateDependencyModuleNames.AddRange(
			new string[]
			{
                "WebSockets",
                "HttpBlueprint"
            }
			);

        if (Target.Type == TargetType.Editor)
        {
            PrivateDependencyModuleNames.Add("UnrealEd"); // to catch End PIE in GameModeBaseCpp.cpp
        }

		// for Steam integration
        PrivateDependencyModuleNames.AddRange(new string[] {
            "OnlineSubsystem",
            "CoreOnline",
            "JsonUtilities",
            //"OnlineSubsystemUtils",
        });

        // don't need it yet
        //if (Target.Type == TargetType.Client)
        //{
        //    PrivateDependencyModuleNames.Add("OnlineSubsystemSteam");
        //}


        DynamicallyLoadedModuleNames.AddRange(
			new string[]
			{
				// ... add any modules that your module loads dynamically here ...
			}
			);
	}
}
