okey-dokey
This commit is contained in:
2
.ignore
2
.ignore
@ -5,3 +5,5 @@
|
|||||||
/DerivedDataCache
|
/DerivedDataCache
|
||||||
/Intermediate
|
/Intermediate
|
||||||
/Saved
|
/Saved
|
||||||
|
/Plugins/hstherac25/Content
|
||||||
|
/Plugins/hstherac25/Intermediate
|
||||||
|
BIN
Plugins/hstherac25/Resources/Icon128.png
Normal file
BIN
Plugins/hstherac25/Resources/Icon128.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
20
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/ExampleLibrary.cpp
vendored
Normal file
20
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/ExampleLibrary.cpp
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#if defined _WIN32 || defined _WIN64
|
||||||
|
#include <Windows.h>
|
||||||
|
|
||||||
|
#define EXAMPLELIBRARY_EXPORT __declspec(dllexport)
|
||||||
|
#else
|
||||||
|
#include <stdio.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef EXAMPLELIBRARY_EXPORT
|
||||||
|
#define EXAMPLELIBRARY_EXPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
EXAMPLELIBRARY_EXPORT void ExampleLibraryFunction()
|
||||||
|
{
|
||||||
|
#if defined _WIN32 || defined _WIN64
|
||||||
|
MessageBox(NULL, TEXT("Loaded ExampleLibrary.dll from Third Party Plugin sample."), TEXT("Third Party Plugin"), MB_OK);
|
||||||
|
#else
|
||||||
|
printf("Loaded ExampleLibrary from Third Party Plugin sample");
|
||||||
|
#endif
|
||||||
|
}
|
158
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/ExampleLibrary.vcxproj
vendored
Normal file
158
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/ExampleLibrary.vcxproj
vendored
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{9B50F1F8-0116-442C-A071-F5C3A120A5CB}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>ExampleLibrary</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXAMPLELIBRARY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXAMPLELIBRARY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;EXAMPLELIBRARY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;EXAMPLELIBRARY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(TargetPath)" "$(SolutionDir)..\..\..\Binaries\ThirdParty\hstherac25Library\Win64\"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="ExampleLibrary.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="Public\hstherac25Library\ExampleLibrary.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
9
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/ExampleLibrary.vcxproj.filters
vendored
Normal file
9
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/ExampleLibrary.vcxproj.filters
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="ExampleLibrary.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="Public\PLUGIN_NAMELibrary\ExampleLibrary.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
BIN
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/Mac/Release/libExampleLibrary.dylib
vendored
Normal file
BIN
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/Mac/Release/libExampleLibrary.dylib
vendored
Normal file
Binary file not shown.
@ -0,0 +1,9 @@
|
|||||||
|
#if defined _WIN32 || defined _WIN64
|
||||||
|
#define EXAMPLELIBRARY_IMPORT __declspec(dllimport)
|
||||||
|
#elif defined __linux__
|
||||||
|
#define EXAMPLELIBRARY_IMPORT __attribute__((visibility("default")))
|
||||||
|
#else
|
||||||
|
#define EXAMPLELIBRARY_IMPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
EXAMPLELIBRARY_IMPORT void ExampleLibraryFunction();
|
37
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/hstherac25Library.Build.cs
vendored
Normal file
37
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/hstherac25Library.Build.cs
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||||||
|
|
||||||
|
using System.IO;
|
||||||
|
using UnrealBuildTool;
|
||||||
|
|
||||||
|
public class hstherac25Library : ModuleRules
|
||||||
|
{
|
||||||
|
public hstherac25Library(ReadOnlyTargetRules Target) : base(Target)
|
||||||
|
{
|
||||||
|
Type = ModuleType.External;
|
||||||
|
PublicSystemIncludePaths.Add("$(ModuleDir)/Public");
|
||||||
|
|
||||||
|
if (Target.Platform == UnrealTargetPlatform.Win64)
|
||||||
|
{
|
||||||
|
// Add the import library
|
||||||
|
PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "x64", "Release", "ExampleLibrary.lib"));
|
||||||
|
|
||||||
|
// Delay-load the DLL, so we can load it from the right place first
|
||||||
|
PublicDelayLoadDLLs.Add("ExampleLibrary.dll");
|
||||||
|
|
||||||
|
// Ensure that the DLL is staged along with the executable
|
||||||
|
RuntimeDependencies.Add("$(PluginDir)/Binaries/ThirdParty/hstherac25Library/Win64/ExampleLibrary.dll");
|
||||||
|
}
|
||||||
|
else if (Target.Platform == UnrealTargetPlatform.Mac)
|
||||||
|
{
|
||||||
|
PublicDelayLoadDLLs.Add(Path.Combine(ModuleDirectory, "Mac", "Release", "libExampleLibrary.dylib"));
|
||||||
|
RuntimeDependencies.Add("$(PluginDir)/Source/ThirdParty/hstherac25Library/Mac/Release/libExampleLibrary.dylib");
|
||||||
|
}
|
||||||
|
else if (Target.Platform == UnrealTargetPlatform.Linux)
|
||||||
|
{
|
||||||
|
string ExampleSoPath = Path.Combine("$(PluginDir)", "Binaries", "ThirdParty", "hstherac25Library", "Linux", "x86_64-unknown-linux-gnu", "libExampleLibrary.so");
|
||||||
|
PublicAdditionalLibraries.Add(ExampleSoPath);
|
||||||
|
PublicDelayLoadDLLs.Add(ExampleSoPath);
|
||||||
|
RuntimeDependencies.Add(ExampleSoPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
6
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/hstherac25Library.tps
vendored
Normal file
6
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/hstherac25Library.tps
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TpsData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<Notification>
|
||||||
|
Notes: This is a sample module and not actually third party.
|
||||||
|
</Notification>
|
||||||
|
</TpsData>
|
BIN
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/x64/Release/ExampleLibrary.dll
vendored
Normal file
BIN
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/x64/Release/ExampleLibrary.dll
vendored
Normal file
Binary file not shown.
BIN
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/x64/Release/ExampleLibrary.lib
vendored
Normal file
BIN
Plugins/hstherac25/Source/ThirdParty/hstherac25Library/x64/Release/ExampleLibrary.lib
vendored
Normal file
Binary file not shown.
55
Plugins/hstherac25/Source/hstherac25/Private/hstherac25.cpp
Normal file
55
Plugins/hstherac25/Source/hstherac25/Private/hstherac25.cpp
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||||
|
|
||||||
|
#include "hstherac25.h"
|
||||||
|
#include "Misc/MessageDialog.h"
|
||||||
|
#include "Modules/ModuleManager.h"
|
||||||
|
#include "Interfaces/IPluginManager.h"
|
||||||
|
#include "Misc/Paths.h"
|
||||||
|
#include "HAL/PlatformProcess.h"
|
||||||
|
#include "hstherac25Library/ExampleLibrary.h"
|
||||||
|
|
||||||
|
#define LOCTEXT_NAMESPACE "Fhstherac25Module"
|
||||||
|
|
||||||
|
void Fhstherac25Module::StartupModule()
|
||||||
|
{
|
||||||
|
// This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module
|
||||||
|
|
||||||
|
// Get the base directory of this plugin
|
||||||
|
FString BaseDir = IPluginManager::Get().FindPlugin("hstherac25")->GetBaseDir();
|
||||||
|
|
||||||
|
// Add on the relative location of the third party dll and load it
|
||||||
|
FString LibraryPath;
|
||||||
|
#if PLATFORM_WINDOWS
|
||||||
|
LibraryPath = FPaths::Combine(*BaseDir, TEXT("Binaries/ThirdParty/hstherac25Library/Win64/ExampleLibrary.dll"));
|
||||||
|
#elif PLATFORM_MAC
|
||||||
|
LibraryPath = FPaths::Combine(*BaseDir, TEXT("Source/ThirdParty/hstherac25Library/Mac/Release/libExampleLibrary.dylib"));
|
||||||
|
#elif PLATFORM_LINUX
|
||||||
|
LibraryPath = FPaths::Combine(*BaseDir, TEXT("Binaries/ThirdParty/hstherac25Library/Linux/x86_64-unknown-linux-gnu/libExampleLibrary.so"));
|
||||||
|
#endif // PLATFORM_WINDOWS
|
||||||
|
|
||||||
|
ExampleLibraryHandle = !LibraryPath.IsEmpty() ? FPlatformProcess::GetDllHandle(*LibraryPath) : nullptr;
|
||||||
|
|
||||||
|
if (ExampleLibraryHandle)
|
||||||
|
{
|
||||||
|
// Call the test function in the third party library that opens a message box
|
||||||
|
ExampleLibraryFunction();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FMessageDialog::Open(EAppMsgType::Ok, LOCTEXT("ThirdPartyLibraryError", "Failed to load example third party library"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Fhstherac25Module::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.
|
||||||
|
|
||||||
|
// Free the dll handle
|
||||||
|
FPlatformProcess::FreeDllHandle(ExampleLibraryHandle);
|
||||||
|
ExampleLibraryHandle = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
#undef LOCTEXT_NAMESPACE
|
||||||
|
|
||||||
|
IMPLEMENT_MODULE(Fhstherac25Module, hstherac25)
|
18
Plugins/hstherac25/Source/hstherac25/Public/hstherac25.h
Normal file
18
Plugins/hstherac25/Source/hstherac25/Public/hstherac25.h
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Modules/ModuleManager.h"
|
||||||
|
|
||||||
|
class Fhstherac25Module : public IModuleInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
/** IModuleInterface implementation */
|
||||||
|
virtual void StartupModule() override;
|
||||||
|
virtual void ShutdownModule() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
/** Handle to the test dll we will load */
|
||||||
|
void* ExampleLibraryHandle;
|
||||||
|
};
|
51
Plugins/hstherac25/Source/hstherac25/hstherac25.Build.cs
Normal file
51
Plugins/hstherac25/Source/hstherac25/hstherac25.Build.cs
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||||
|
|
||||||
|
using UnrealBuildTool;
|
||||||
|
|
||||||
|
public class hstherac25 : ModuleRules
|
||||||
|
{
|
||||||
|
public hstherac25(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",
|
||||||
|
"hstherac25Library",
|
||||||
|
"Projects"
|
||||||
|
// ... add other public dependencies that you statically link with here ...
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
PrivateDependencyModuleNames.AddRange(
|
||||||
|
new string[]
|
||||||
|
{
|
||||||
|
// ... add private dependencies that you statically link with here ...
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
DynamicallyLoadedModuleNames.AddRange(
|
||||||
|
new string[]
|
||||||
|
{
|
||||||
|
// ... add any modules that your module loads dynamically here ...
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
24
Plugins/hstherac25/hstherac25.uplugin
Normal file
24
Plugins/hstherac25/hstherac25.uplugin
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"FileVersion": 3,
|
||||||
|
"Version": 1,
|
||||||
|
"VersionName": "1.0",
|
||||||
|
"FriendlyName": "hstherac25",
|
||||||
|
"Description": "",
|
||||||
|
"Category": "Other",
|
||||||
|
"CreatedBy": "",
|
||||||
|
"CreatedByURL": "",
|
||||||
|
"DocsURL": "",
|
||||||
|
"MarketplaceURL": "",
|
||||||
|
"SupportURL": "",
|
||||||
|
"CanContainContent": true,
|
||||||
|
"IsBetaVersion": false,
|
||||||
|
"IsExperimentalVersion": false,
|
||||||
|
"Installed": false,
|
||||||
|
"Modules": [
|
||||||
|
{
|
||||||
|
"Name": "hstherac25",
|
||||||
|
"Type": "Runtime",
|
||||||
|
"LoadingPhase": "Default"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -6,5 +6,32 @@ void UModeInputTextBox::HandleOnTextChanged(FText const & inText) {
|
|||||||
auto & s = inText.ToString();
|
auto & s = inText.ToString();
|
||||||
auto lastChar = s.LeftChop(1);
|
auto lastChar = s.LeftChop(1);
|
||||||
lastChar.ToUpperInline();
|
lastChar.ToUpperInline();
|
||||||
|
if (!lastChar.IsEmpty()) {
|
||||||
|
|
||||||
|
switch (myTarget) {
|
||||||
|
case THSModeTarget::Energy:
|
||||||
|
switch (lastChar[0]) {
|
||||||
|
case 'E':
|
||||||
|
break;
|
||||||
|
case 'X':
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case THSModeTarget::OpMode:
|
||||||
|
switch (lastChar[0]) {
|
||||||
|
case 'T':
|
||||||
|
break;
|
||||||
|
case 'R':
|
||||||
|
break;
|
||||||
|
case 'P':
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
SetText(FText::FromString(lastChar));
|
SetText(FText::FromString(lastChar));
|
||||||
}
|
}
|
||||||
|
34
Source/MyProject/Private/TheracSimComponent.cpp
Normal file
34
Source/MyProject/Private/TheracSimComponent.cpp
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||||||
|
|
||||||
|
|
||||||
|
#include "TheracSimComponent.h"
|
||||||
|
|
||||||
|
// Sets default values for this component's properties
|
||||||
|
UTheracSimComponent::UTheracSimComponent()
|
||||||
|
{
|
||||||
|
// Set this component to be initialized when the game starts, and to be ticked every frame. You can turn these features
|
||||||
|
// off to improve performance if you don't need them.
|
||||||
|
PrimaryComponentTick.bCanEverTick = true;
|
||||||
|
|
||||||
|
// ...
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Called when the game starts
|
||||||
|
void UTheracSimComponent::BeginPlay()
|
||||||
|
{
|
||||||
|
Super::BeginPlay();
|
||||||
|
|
||||||
|
// ...
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Called every frame
|
||||||
|
void UTheracSimComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
|
||||||
|
{
|
||||||
|
Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
|
||||||
|
|
||||||
|
// ...
|
||||||
|
}
|
||||||
|
|
@ -6,6 +6,12 @@
|
|||||||
#include "CoreMinimal.h"
|
#include "CoreMinimal.h"
|
||||||
#include "ModeInputTextBox.generated.h"
|
#include "ModeInputTextBox.generated.h"
|
||||||
|
|
||||||
|
UENUM()
|
||||||
|
enum class THSModeTarget : uint8 {
|
||||||
|
Energy,
|
||||||
|
OpMode
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -14,5 +20,8 @@ class MYPROJECT_API UModeInputTextBox : public UEditableTextBox {
|
|||||||
|
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
THSModeTarget myTarget;
|
||||||
|
|
||||||
void HandleOnTextChanged(FText const & inText) override;
|
void HandleOnTextChanged(FText const & inText) override;
|
||||||
};
|
};
|
||||||
|
28
Source/MyProject/Public/TheracSimComponent.h
Normal file
28
Source/MyProject/Public/TheracSimComponent.h
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "CoreMinimal.h"
|
||||||
|
#include "Components/ActorComponent.h"
|
||||||
|
#include "TheracSimComponent.generated.h"
|
||||||
|
|
||||||
|
|
||||||
|
UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
|
||||||
|
class MYPROJECT_API UTheracSimComponent : public UActorComponent
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Sets default values for this component's properties
|
||||||
|
UTheracSimComponent();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// Called when the game starts
|
||||||
|
virtual void BeginPlay() override;
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Called every frame
|
||||||
|
virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
|
||||||
|
|
||||||
|
|
||||||
|
};
|
Reference in New Issue
Block a user