50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | #pragma once
 | ||
|  | 
 | ||
|  | #include "CoreMinimal.h"
 | ||
|  | #include "EditorSubsystem.h"
 | ||
|  | #include "CSEditorSubsystem.generated.h"
 | ||
|  | 
 | ||
|  | UCLASS(Blueprintable, BlueprintType, Abstract) | ||
|  | class UCSEditorSubsystem : public UEditorSubsystem | ||
|  | { | ||
|  | 	GENERATED_BODY() | ||
|  | 
 | ||
|  | 	// USubsystem Begin
 | ||
|  | 	 | ||
|  | 	virtual void Initialize(FSubsystemCollectionBase& Collection) override | ||
|  | 	{ | ||
|  | 		Super::Initialize(Collection); | ||
|  | 		K2_Initialize(); | ||
|  | 	} | ||
|  |    | ||
|  | 	virtual void Deinitialize() override | ||
|  | 	{ | ||
|  | 		Super::Deinitialize(); | ||
|  | 		K2_Deinitialize(); | ||
|  | 	} | ||
|  |    | ||
|  | 	virtual bool ShouldCreateSubsystem(UObject* Outer) const override | ||
|  | 	{ | ||
|  | 		if (!Super::ShouldCreateSubsystem(Outer)) | ||
|  | 		{ | ||
|  | 			return false; | ||
|  | 		} | ||
|  |    | ||
|  | 		return K2_ShouldCreateSubsystem(); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	// End
 | ||
|  | 
 | ||
|  | 	protected: | ||
|  | 
 | ||
|  | 	UFUNCTION(BlueprintImplementableEvent, meta = (ScriptName = "ShouldCreateSubsystem"), Category = "Managed Subsystems") | ||
|  | 	bool K2_ShouldCreateSubsystem() const; | ||
|  |    | ||
|  | 	UFUNCTION(BlueprintImplementableEvent, meta = (ScriptName = "Initialize"), Category = "Managed Subsystems") | ||
|  | 	void K2_Initialize(); | ||
|  |    | ||
|  | 	UFUNCTION(BlueprintImplementableEvent, meta = (ScriptName = "Deinitialize"), Category = "Managed Subsystems") | ||
|  | 	void K2_Deinitialize(); | ||
|  | 	 | ||
|  | }; |