Kismet nodes now have their own module to themselves, so Unreal Engine can compile a shipping build correctly.

This commit is contained in:
Jamie Greunbaum 2023-09-20 12:23:21 -04:00
parent df1df9a56f
commit b1ef780086
9 changed files with 140 additions and 7 deletions

View File

@ -17,6 +17,11 @@
"Type": "Runtime", "Type": "Runtime",
"LoadingPhase": "PreDefault" "LoadingPhase": "PreDefault"
}, },
{
"Name": "ComboInputNodes",
"Type": "UncookedOnly",
"LoadingPhase": "Default"
},
{ {
"Name": "ComboInputEditor", "Name": "ComboInputEditor",
"Type": "Editor", "Type": "Editor",

View File

@ -48,9 +48,7 @@ public class ComboInput : ModuleRules
"SlateCore", "SlateCore",
"DeveloperSettings", "DeveloperSettings",
"BlueprintGraph", "Projects",
"GraphEditor",
"KismetCompiler",
} }
); );

View File

@ -0,0 +1,66 @@
// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
public class ComboInputNodes : ModuleRules
{
public ComboInputNodes(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
bLegacyPublicIncludePaths = false;
ShadowVariableWarningLevel = WarningLevel.Error;
PublicIncludePaths.AddRange
(
new string[]
{
// ... add public include paths required here ...
}
);
PrivateIncludePaths.AddRange
(
new string[]
{
"ComboInputNodes/Private"
}
);
PublicDependencyModuleNames.AddRange
(
new string[]
{
"ComboInput",
}
);
PrivateDependencyModuleNames.AddRange
(
new string[]
{
"Core",
"CoreUObject",
"Engine",
"Slate",
"SlateCore",
"DeveloperSettings",
"UnrealEd",
"BlueprintGraph",
"GraphEditor",
"KismetCompiler",
}
);
DynamicallyLoadedModuleNames.AddRange
(
new string[]
{
// ... add any modules that your module loads dynamically here ...
}
);
}
}

View File

@ -0,0 +1,24 @@
// ©2023 Batty Bovine Productions, LLC. All Rights Reserved.
#include "ComboInputNodes.h"
#include "GameplayTagsManager.h"
#include "Interfaces/IPluginManager.h"
#define LOCTEXT_NAMESPACE "FComboInputNodesModule"
void FComboInputNodesModule::StartupModule()
{
// This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module
}
void FComboInputNodesModule::ShutdownModule()
{
// This function may be called during shutdown to clean up your module. For modules that support dynamic reloading,
// we call this function before unloading the module.
}
#undef LOCTEXT_NAMESPACE
IMPLEMENT_MODULE(FComboInputNodesModule, ComboInputNodes)

View File

@ -1,6 +1,6 @@
// ©2023 Batty Bovine Productions, LLC. All Rights Reserved. // ©2023 Batty Bovine Productions, LLC. All Rights Reserved.
#include "Events/K2Node_ComboAction.h" #include "K2Node_ComboAction.h"
#include "AssetRegistry/AssetRegistryModule.h" #include "AssetRegistry/AssetRegistryModule.h"
#include "BlueprintActionDatabaseRegistrar.h" #include "BlueprintActionDatabaseRegistrar.h"

View File

@ -1,6 +1,6 @@
// ©2023 Batty Bovine Productions, LLC. All Rights Reserved. // ©2023 Batty Bovine Productions, LLC. All Rights Reserved.
#include "Events/K2Node_ComboActionEvent.h" #include "K2Node_ComboActionEvent.h"
#include "ComboInputTriggers.h" #include "ComboInputTriggers.h"
#include "Events/ComboActionDelegateBinding.h" #include "Events/ComboActionDelegateBinding.h"

View File

@ -3,7 +3,10 @@
#pragma once #pragma once
#include "CoreMinimal.h" #include "CoreMinimal.h"
#include "ComboInputTriggers.h"
#include "K2Node_Event.h" #include "K2Node_Event.h"
#include "K2Node_ComboActionEvent.generated.h" #include "K2Node_ComboActionEvent.generated.h"
@ -12,7 +15,7 @@
* when the ComboManagerComponent activates the associated action. * when the ComboManagerComponent activates the associated action.
*/ */
UCLASS() UCLASS()
class COMBOINPUT_API UK2Node_ComboActionEvent : public UK2Node_Event class COMBOINPUTNODES_API UK2Node_ComboActionEvent : public UK2Node_Event
{ {
GENERATED_BODY() GENERATED_BODY()

View File

@ -0,0 +1,37 @@
// ©2023 Batty Bovine Productions, LLC. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Modules/ModuleInterface.h"
class FComboInputNodesModule : public IModuleInterface
{
public:
/**
* Singleton-like access to this module's interface. This is just for convenience!
* Beware of calling this during the shutdown phase, though. Your module might have been unloaded already.
*
* @return Returns singleton instance, loading the module on demand if needed
*/
static FComboInputNodesModule &Get()
{
return FModuleManager::LoadModuleChecked<FComboInputNodesModule>("ComboInputNodes");
}
/**
* Checks to see if this module is loaded and ready. It is only valid to call Get() if IsAvailable() returns true.
*
* @return True if the module is loaded and ready to use
*/
static bool IsAvailable()
{
return FModuleManager::Get().IsModuleLoaded("ComboInputNodes");
}
/** IModuleInterface implementation */
virtual void StartupModule() override;
virtual void ShutdownModule() override;
};

View File

@ -19,7 +19,7 @@ class FKismetCompilerContext;
UCLASS() UCLASS()
class COMBOINPUT_API UK2Node_ComboAction : public UK2Node, public IK2Node_EventNodeInterface class COMBOINPUTNODES_API UK2Node_ComboAction : public UK2Node, public IK2Node_EventNodeInterface
{ {
GENERATED_BODY() GENERATED_BODY()