44 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			44 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | #pragma once
 | ||
|  | #include "KismetCompiler.h"
 | ||
|  | 
 | ||
|  | struct FCSClassMetaData; | ||
|  | struct FCSPropertyMetaData; | ||
|  | struct FCSClassInfo; | ||
|  | class UCSClass; | ||
|  | class UCSBlueprint; | ||
|  | 
 | ||
|  | class FCSCompilerContext : public FKismetCompilerContext | ||
|  | { | ||
|  | public: | ||
|  | 
 | ||
|  | 	FCSCompilerContext(UCSBlueprint* Blueprint, FCompilerResultsLog& InMessageLog, const FKismetCompilerOptions& InCompilerOptions); | ||
|  | 
 | ||
|  | 	// FKismetCompilerContext interface
 | ||
|  | 	virtual void FinishCompilingClass(UClass* Class) override; | ||
|  | 	virtual void OnPostCDOCompiled(const UObject::FPostCDOCompiledContext& Context) override; | ||
|  | 	virtual void CreateClassVariablesFromBlueprint() override; | ||
|  | 	virtual void CleanAndSanitizeClass(UBlueprintGeneratedClass* ClassToClean, UObject*& OldCDO) override; | ||
|  | 	virtual void SpawnNewClass(const FString& NewClassName) override; | ||
|  | 	virtual void AddInterfacesFromBlueprint(UClass* Class) override; | ||
|  | 	// End of FKismetCompilerContext interface
 | ||
|  | protected: | ||
|  | 	typedef FKismetCompilerContext Super; | ||
|  | private: | ||
|  | 	void TryValidateSimpleConstructionScript(const TSharedPtr<const FCSClassInfo>& ClassInfo) const; | ||
|  | 	void GenerateFunctions() const; | ||
|  | 	UCSClass* GetMainClass() const; | ||
|  | 	 | ||
|  | 	TSharedPtr<const FCSClassInfo> GetClassInfo() const; | ||
|  | 	TSharedPtr<const FCSClassMetaData> GetTypeMetaData() const; | ||
|  | 
 | ||
|  | 	bool IsDeveloperSettings() const; | ||
|  | 	void TryInitializeAsDeveloperSettings(const UClass* Class) const; | ||
|  | 	void TryDeinitializeAsDeveloperSettings(UObject* Settings) const; | ||
|  | 	void ApplyMetaData(); | ||
|  | 
 | ||
|  | 	static bool NeedsToFakeNativeClass(UClass* Class); | ||
|  | 
 | ||
|  | 	void CreateDummyBlueprintVariables(const TArray<FCSPropertyMetaData>& Properties) const; | ||
|  | }; | ||
|  | 
 |