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