调整间隔生成节点

This commit is contained in:
997146918 2025-09-22 19:11:50 +08:00
parent 314c35b8e2
commit 1dfaab4de9
7 changed files with 24 additions and 23 deletions

View File

@ -22,4 +22,10 @@ public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category= MapConfig, meta = (ToolTip = "总层数", ClampMin = 2)) UPROPERTY(EditAnywhere, BlueprintReadWrite, Category= MapConfig, meta = (ToolTip = "总层数", ClampMin = 2))
int32 TotalLayers = 4; int32 TotalLayers = 4;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category= MapConfig, meta = (ToolTip = "节点水平间距"))
int32 NodeOffsetX = 100;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category= MapConfig, meta = (ToolTip = "节点垂直间距"))
int32 NodeOffsetY = 300;
}; };

View File

@ -1,5 +1,6 @@
#include "FishingMapSystem.h" #include "FishingMapSystem.h"
#include "Engine/Engine.h" #include "Engine/Engine.h"
#include "ProjectFish/DataAsset/MapConfigAsset.h"
UFishingMapNode::UFishingMapNode() UFishingMapNode::UFishingMapNode()
{ {
@ -105,27 +106,22 @@ void UFishingMapSystem::GenerateNodes()
void UFishingMapSystem::CalculateNodePositions() void UFishingMapSystem::CalculateNodePositions()
{ {
// float LayerSpacing = 1000.0f; // 层之间的距离 for (int32 LayerIndex = 0; LayerIndex < AllLayers.Num(); ++LayerIndex)
// float NodeSpacing = 300.0f; // 节点之间的距离 {
//
// for (int32 LayerIndex = 0; LayerIndex < AllLayers.Num(); ++LayerIndex) FMapLayer& Layer= AllLayers[LayerIndex];
// { int32 NodeCount = Layer.GetNodeNum();
// FMapLayer& Layer= AllLayers[LayerIndex]; float TotalWidth = (NodeCount - 1) * (MapConfig->NodeOffsetX); //水平总距离
// int32 NodeCount = Layer.GetNodeNum(); float Y = LayerIndex * MapConfig->NodeOffsetY; //垂直高度
//
// float X = LayerIndex * LayerSpacing; float StartX = -TotalWidth * 0.5f;
// float TotalWidth = (NodeCount - 1) * NodeSpacing;
// float StartY = -TotalWidth * 0.5f; for (int32 NodeIndex = 0; NodeIndex <NodeCount; ++NodeIndex)
// {
// for (int32 NodeIndex = 0; NodeIndex <NodeCount; ++NodeIndex) float X = StartX + NodeIndex * MapConfig->NodeOffsetX;
// { Layer.GetNode(NodeIndex)->Position = FVector2D(X, Y);
// if (LayerNodes[NodeIndex]) }
// { }
// float Y = StartY + NodeIndex * NodeSpacing;
// LayerNodes[NodeIndex]->Position = FVector2D(X, Y);
// }
// }
// }
} }
void UFishingMapSystem::GenerateConnections() void UFishingMapSystem::GenerateConnections()

View File

@ -1,7 +1,6 @@
#pragma once #pragma once
#include "CoreMinimal.h" #include "CoreMinimal.h"
#include "MapConfigAsset.h"
#include "Engine/DataAsset.h" #include "Engine/DataAsset.h"
#include "ProjectFish/Definations.h" #include "ProjectFish/Definations.h"
#include "FishingMapSystem.generated.h" #include "FishingMapSystem.generated.h"
@ -50,7 +49,7 @@ public:
UFishingMapSystem(); UFishingMapSystem();
UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (ToolTip = "地图配置")) UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (ToolTip = "地图配置"))
UMapConfigAsset* MapConfig; class UMapConfigAsset* MapConfig;
UPROPERTY(BlueprintReadOnly, meta = (ToolTip = "所有节点")) UPROPERTY(BlueprintReadOnly, meta = (ToolTip = "所有节点"))
TArray<TObjectPtr<UFishingMapNode>> AllNodes; TArray<TObjectPtr<UFishingMapNode>> AllNodes;