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