// Copyright Ralpha Team. All Rights Reserved. #include "RalphaEditorStyle.h" #include "Styling/SlateStyleRegistry.h" #include "Framework/Application/SlateApplication.h" #include "Slate/SlateGameResources.h" #include "Interfaces/IPluginManager.h" #include "Styling/SlateStyleMacros.h" #define RootToContentDir Style->RootToContentDir TSharedPtr FRalphaEditorStyle::StyleInstance = nullptr; void FRalphaEditorStyle::Initialize() { if (!StyleInstance.IsValid()) { StyleInstance = Create(); FSlateStyleRegistry::RegisterSlateStyle(*StyleInstance); } } void FRalphaEditorStyle::Shutdown() { FSlateStyleRegistry::UnRegisterSlateStyle(*StyleInstance); ensure(StyleInstance.IsUnique()); StyleInstance.Reset(); } FName FRalphaEditorStyle::GetStyleSetName() { static FName StyleSetName(TEXT("RalphaEditorStyle")); return StyleSetName; } const ISlateStyle& FRalphaEditorStyle::Get() { return *StyleInstance; } void FRalphaEditorStyle::ReloadTextures() { if (FSlateApplication::IsInitialized()) { FSlateApplication::Get().GetRenderer()->ReloadTextureResources(); } } TSharedRef FRalphaEditorStyle::Create() { TSharedRef Style = MakeShareable(new FSlateStyleSet("RalphaEditorStyle")); Style->SetContentRoot(IPluginManager::Get().FindPlugin("RalphaPlugin")->GetBaseDir() / TEXT("Resources")); Style->Set("Ralpha.StartServer", new IMAGE_BRUSH_SVG(TEXT("Icon20"), FVector2D(20.0f, 20.0f))); return Style; } #undef RootToContentDir