From b24ddd06be1cc7a50151e528e6f3f1c31d7d9568 Mon Sep 17 00:00:00 2001 From: Maxime Date: Mon, 24 Jul 2023 21:39:48 +0200 Subject: [PATCH] Create game and editor modules --- Pawn_Unreal/Pawn.uproject | 44 +++++++++++++------ Pawn_Unreal/Source/Pawn.Target.cs | 11 +++++ Pawn_Unreal/Source/Pawn/Pawn.Build.cs | 16 +++++++ Pawn_Unreal/Source/Pawn/PawnModule.cpp | 12 +++++ Pawn_Unreal/Source/Pawn/PawnModule.h | 9 ++++ Pawn_Unreal/Source/PawnEditor.Target.cs | 11 +++++ .../Source/PawnEditor/PawnEditor.Build.cs | 41 +++++++++++++++++ .../Source/PawnEditor/PawnEditorModule.cpp | 9 ++++ .../Source/PawnEditor/PawnEditorModule.h | 9 ++++ 9 files changed, 149 insertions(+), 13 deletions(-) create mode 100644 Pawn_Unreal/Source/Pawn.Target.cs create mode 100644 Pawn_Unreal/Source/Pawn/Pawn.Build.cs create mode 100644 Pawn_Unreal/Source/Pawn/PawnModule.cpp create mode 100644 Pawn_Unreal/Source/Pawn/PawnModule.h create mode 100644 Pawn_Unreal/Source/PawnEditor.Target.cs create mode 100644 Pawn_Unreal/Source/PawnEditor/PawnEditor.Build.cs create mode 100644 Pawn_Unreal/Source/PawnEditor/PawnEditorModule.cpp create mode 100644 Pawn_Unreal/Source/PawnEditor/PawnEditorModule.h diff --git a/Pawn_Unreal/Pawn.uproject b/Pawn_Unreal/Pawn.uproject index eb984d2..830cd9a 100644 --- a/Pawn_Unreal/Pawn.uproject +++ b/Pawn_Unreal/Pawn.uproject @@ -1,15 +1,33 @@ { - "FileVersion": 3, - "EngineAssociation": "5.2", - "Category": "", - "Description": "", - "Plugins": [ - { - "Name": "ModelingToolsEditorMode", - "Enabled": true, - "TargetAllowList": [ - "Editor" - ] - } - ] + "FileVersion": 3, + "EngineAssociation": "5.2", + "Category": "", + "Description": "", + "Modules": [ + { + "Name": "Pawn", + "Type": "Runtime", + "LoadingPhase": "Default", + "AdditionalDependencies": [ + "CoreUObject" + ] + }, + { + "Name": "PawnEditor", + "Type": "Editor", + "LoadingPhase": "PostEngineInit", + "AdditionalDependencies": [ + "Engine" + ] + } + ], + "Plugins": [ + { + "Name": "ModelingToolsEditorMode", + "Enabled": true, + "TargetAllowList": [ + "Editor" + ] + } + ] } \ No newline at end of file diff --git a/Pawn_Unreal/Source/Pawn.Target.cs b/Pawn_Unreal/Source/Pawn.Target.cs new file mode 100644 index 0000000..a1f9d32 --- /dev/null +++ b/Pawn_Unreal/Source/Pawn.Target.cs @@ -0,0 +1,11 @@ +using UnrealBuildTool; + +public class PawnTarget : TargetRules { + public PawnTarget(TargetInfo Target) : base(Target) { + Type = TargetType.Game; + DefaultBuildSettings = BuildSettingsVersion.V2; + IncludeOrderVersion = EngineIncludeOrderVersion.Latest; + + ExtraModuleNames.AddRange(new [] { "Pawn" }); + } +} \ No newline at end of file diff --git a/Pawn_Unreal/Source/Pawn/Pawn.Build.cs b/Pawn_Unreal/Source/Pawn/Pawn.Build.cs new file mode 100644 index 0000000..4e321a7 --- /dev/null +++ b/Pawn_Unreal/Source/Pawn/Pawn.Build.cs @@ -0,0 +1,16 @@ +using UnrealBuildTool; + +public class Pawn : ModuleRules { + public Pawn(ReadOnlyTargetRules Target) : base(Target) { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange(new[] { + "Core", + "CoreUObject", + "Engine", + "InputCore" + }); + + PrivateDependencyModuleNames.AddRange(new string[] { }); + } +} \ No newline at end of file diff --git a/Pawn_Unreal/Source/Pawn/PawnModule.cpp b/Pawn_Unreal/Source/Pawn/PawnModule.cpp new file mode 100644 index 0000000..811c419 --- /dev/null +++ b/Pawn_Unreal/Source/Pawn/PawnModule.cpp @@ -0,0 +1,12 @@ +#include "PawnModule.h" +#include "Modules/ModuleManager.h" + +IMPLEMENT_PRIMARY_GAME_MODULE(FPawnModule, Pawn, "Pawn"); + +void FPawnModule::StartupModule() { + IModuleInterface::StartupModule(); +} + +void FPawnModule::ShutdownModule() { + IModuleInterface::ShutdownModule(); +} diff --git a/Pawn_Unreal/Source/Pawn/PawnModule.h b/Pawn_Unreal/Source/Pawn/PawnModule.h new file mode 100644 index 0000000..b0811d7 --- /dev/null +++ b/Pawn_Unreal/Source/Pawn/PawnModule.h @@ -0,0 +1,9 @@ +#pragma once + +#include "CoreMinimal.h" + +class FPawnModule : public IModuleInterface { +public: + virtual void StartupModule() override; + virtual void ShutdownModule() override; +}; diff --git a/Pawn_Unreal/Source/PawnEditor.Target.cs b/Pawn_Unreal/Source/PawnEditor.Target.cs new file mode 100644 index 0000000..32c1d0b --- /dev/null +++ b/Pawn_Unreal/Source/PawnEditor.Target.cs @@ -0,0 +1,11 @@ +using UnrealBuildTool; + +public class PawnEditorTarget : TargetRules { + public PawnEditorTarget(TargetInfo Target) : base(Target) { + Type = TargetType.Editor; + DefaultBuildSettings = BuildSettingsVersion.V2; + IncludeOrderVersion = EngineIncludeOrderVersion.Latest; + + ExtraModuleNames.AddRange(new [] { "Pawn", "PawnEditor" }); + } +} \ No newline at end of file diff --git a/Pawn_Unreal/Source/PawnEditor/PawnEditor.Build.cs b/Pawn_Unreal/Source/PawnEditor/PawnEditor.Build.cs new file mode 100644 index 0000000..9d897c1 --- /dev/null +++ b/Pawn_Unreal/Source/PawnEditor/PawnEditor.Build.cs @@ -0,0 +1,41 @@ +using UnrealBuildTool; + +public class PawnEditor : ModuleRules { + public PawnEditor(ReadOnlyTargetRules Target) : base(Target) { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange(new [] { + "Core", + "Engine", + "CoreUObject", + "InputCore", + "LevelEditor", + "Slate", + "EditorStyle", + "AssetTools", + "EditorWidgets", + "UnrealEd", + "BlueprintGraph", + "AnimGraph", + "ComponentVisualizers", + "ContentBrowser", + "SourceControl", + "Pawn" + }); + + PrivateDependencyModuleNames.AddRange(new [] { + "Core", + "CoreUObject", + "Engine", + "AppFramework", + "SlateCore", + "AnimGraph", + "UnrealEd", + "KismetWidgets", + "MainFrame", + "PropertyEditor", + "ComponentVisualizers", + "Pawn" + }); + } +} \ No newline at end of file diff --git a/Pawn_Unreal/Source/PawnEditor/PawnEditorModule.cpp b/Pawn_Unreal/Source/PawnEditor/PawnEditorModule.cpp new file mode 100644 index 0000000..fdc8736 --- /dev/null +++ b/Pawn_Unreal/Source/PawnEditor/PawnEditorModule.cpp @@ -0,0 +1,9 @@ +#include "PawnEditorModule.h" + +#include "Modules/ModuleManager.h" + +IMPLEMENT_MODULE(FPawnEditorModule, PawnEditor) + +void FPawnEditorModule::StartupModule() {} + +void FPawnEditorModule::ShutdownModule() {} \ No newline at end of file diff --git a/Pawn_Unreal/Source/PawnEditor/PawnEditorModule.h b/Pawn_Unreal/Source/PawnEditor/PawnEditorModule.h new file mode 100644 index 0000000..c48bce6 --- /dev/null +++ b/Pawn_Unreal/Source/PawnEditor/PawnEditorModule.h @@ -0,0 +1,9 @@ +#pragma once + +#include "CoreMinimal.h" + +class FPawnEditorModule : public IModuleInterface { +public: + virtual void StartupModule() override; + virtual void ShutdownModule() override; +};