Files
2025-05-18 13:04:45 +08:00

80 lines
1.9 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
public class CommonInput : ModuleRules
{
public CommonInput(ReadOnlyTargetRules Target) : base(Target)
{
PublicDependencyModuleNames.AddRange(
new string[]
{
"Core",
"CoreUObject",
"Engine",
"InputCore",
"EnhancedInput",
"DeveloperSettings"
}
);
PrivateDependencyModuleNames.AddRange(
new string[]
{
"SlateCore",
"Slate",
"ApplicationCore",
"EngineSettings"
}
);
if (Target.Type == TargetType.Editor)
{
PublicDependencyModuleNames.AddRange(
new string[] {
"EditorFramework",
"UnrealEd",
}
);
}
string CommonUIPlatform = ToCommonUIPlatform(Target.Platform);
if (!string.IsNullOrEmpty(CommonUIPlatform))
{
PublicDefinitions.Add("UE_COMMONINPUT_PLATFORM_TYPE = " + CommonUIPlatform);
}
PrivateDefinitions.Add("UE_COMMONINPUT_PLATFORM_KBM_REQUIRES_ATTACHED_MOUSE=" + (bPlatformKBMRequiresAttachedMouse ? "1" : "0"));
PrivateDefinitions.Add("UE_COMMONINPUT_FORCE_TOUCH_SUPPORT_DISABLED=" + (bForceTouchSupportDisabled ? "1" : "0"));
}
static public string ToCommonUIPlatform(UnrealTargetPlatform TargetPlatform)
{
if (TargetPlatform.IsInGroup(UnrealPlatformGroup.Windows))
{
return "PC";
}
else if (TargetPlatform == UnrealTargetPlatform.Mac)
{
return "Mac";
}
else if (TargetPlatform == UnrealTargetPlatform.Linux)
{
return "PC";
}
else if (TargetPlatform == UnrealTargetPlatform.IOS)
{
return "IOS";
}
else if (TargetPlatform == UnrealTargetPlatform.Android)
{
return "Android";
}
return string.Empty;
}
protected virtual bool bPlatformKBMRequiresAttachedMouse { get { return false; } }
protected virtual bool bForceTouchSupportDisabled { get { return false; } }
}