void UPaperTileMap::ResizeMap(int32 NewWidth, int32 NewHeight, bool bForceResize) { if (bForceResize || (NewWidth != MapWidth) || (NewHeight != MapHeight)) { MapWidth = FMath::Max(NewWidth, 1); MapHeight = FMath::Max(NewHeight, 1); // Resize all of the existing layers for (int32 LayerIndex = 0; LayerIndex < TileLayers.Num(); ++LayerIndex) { UPaperTileLayer* TileLayer = TileLayers[LayerIndex]; TileLayer->Modify(); TileLayer->ResizeMap(MapWidth, MapHeight); } } }
void UPaperTileMapRenderComponent::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) { const FName PropertyName = (PropertyChangedEvent.Property != NULL) ? PropertyChangedEvent.Property->GetFName() : NAME_None; if ((PropertyName == GET_MEMBER_NAME_CHECKED(UPaperTileMapRenderComponent, MapWidth)) || (PropertyName == GET_MEMBER_NAME_CHECKED(UPaperTileMapRenderComponent, MapHeight))) { MapWidth = FMath::Max(MapWidth, 1); MapHeight = FMath::Max(MapHeight, 1); // Resize all of the existing layers for (int32 LayerIndex = 0; LayerIndex < TileLayers.Num(); ++LayerIndex) { UPaperTileLayer* TileLayer = TileLayers[LayerIndex]; TileLayer->ResizeMap(MapWidth, MapHeight); } } if (!IsTemplate()) { UpdateBodySetup(); } Super::PostEditChangeProperty(PropertyChangedEvent); }