// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. #include "MeshPaintSettings.h" #include "Misc/ConfigCacheIni.h" UPaintBrushSettings::UPaintBrushSettings(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer), BrushRadius(128.0f), BrushStrength(0.5f), BrushFalloffAmount(0.5f), bEnableFlow(true), bOnlyFrontFacingTriangles(true), ColorViewMode(EMeshPaintColorViewMode::Normal) { BrushRadiusMin = 0.01f, BrushRadiusMax = 250000.0f; GConfig->GetFloat(TEXT("MeshPaintEdit"), TEXT("DefaultBrushRadius"), BrushRadius, GEditorPerProjectIni); BrushRadius = (float)FMath::Clamp(BrushRadius, BrushRadiusMin, BrushRadiusMax); } UPaintBrushSettings::~UPaintBrushSettings() { } void UPaintBrushSettings::SetBrushRadius(float InRadius) { BrushRadius = (float)FMath::Clamp(InRadius, BrushRadiusMin, BrushRadiusMax); GConfig->SetFloat(TEXT("MeshPaintEdit"), TEXT("DefaultBrushRadius"), BrushRadius, GEditorPerProjectIni); } void UPaintBrushSettings::PostEditChangeProperty(struct FPropertyChangedEvent& PropertyChangedEvent) { if (PropertyChangedEvent.Property && PropertyChangedEvent.Property->GetFName() == GET_MEMBER_NAME_CHECKED(UPaintBrushSettings, BrushRadius) && PropertyChangedEvent.ChangeType != EPropertyChangeType::Interactive) { GConfig->SetFloat(TEXT("MeshPaintEdit"), TEXT("DefaultBrushRadius"), BrushRadius, GEditorPerProjectIni); } }