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;
 | |
| }; |