36 lines
993 B
C++
36 lines
993 B
C++
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "CSBlueprintCompiler.h"
|
|
#include "Modules/ModuleManager.h"
|
|
|
|
class UCSInterface;
|
|
struct FCSManagedReferencesCollection;
|
|
class UCSEnum;
|
|
class UCSScriptStruct;
|
|
class FCSBlueprintCompiler;
|
|
|
|
DECLARE_LOG_CATEGORY_EXTERN(LogUnrealSharpCompiler, Log, All);
|
|
|
|
class FUnrealSharpCompilerModule : public IModuleInterface
|
|
{
|
|
public:
|
|
virtual void StartupModule() override;
|
|
virtual void ShutdownModule() override;
|
|
private:
|
|
|
|
void OnNewClass(UCSClass* NewClass);
|
|
void OnNewStruct(UCSScriptStruct* NewStruct);
|
|
void OnNewEnum(UCSEnum* NewEnum);
|
|
void OnNewInterface(UCSInterface* NewInterface);
|
|
|
|
void OnManagedAssemblyLoaded(const FName& AssemblyName);
|
|
void RecompileAndReinstanceBlueprints();
|
|
|
|
void AddManagedReferences(FCSManagedReferencesCollection& Collection);
|
|
|
|
FCSBlueprintCompiler BlueprintCompiler;
|
|
|
|
TArray<UBlueprint*> ManagedClassesToCompile;
|
|
TArray<UBlueprint*> ManagedComponentsToCompile;
|
|
}; |