Add readable MVP survival object proxies

This commit is contained in:
2026-05-19 10:42:06 -07:00
parent bc7617b08b
commit 63f48bcadf
15 changed files with 623 additions and 1 deletions
@@ -6,8 +6,11 @@
#include "AgrarianItemDefinitionAsset.h"
#include "AgrarianSaveGame.h"
#include "Components/StaticMeshComponent.h"
#include "Engine/StaticMesh.h"
#include "Materials/MaterialInterface.h"
#include "TimerManager.h"
#include "Net/UnrealNetwork.h"
#include "UObject/ConstructorHelpers.h"
AAgrarianResourceNode::AAgrarianResourceNode()
{
@@ -18,6 +21,52 @@ AAgrarianResourceNode::AAgrarianResourceNode()
RootComponent = Mesh;
Mesh->SetCollisionProfileName(TEXT("BlockAll"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> ChamferCubeMesh(TEXT("/Game/Agrarian/Environment/PlaceholderMeshes/SM_AGR_Placeholder_ChamferCube.SM_AGR_Placeholder_ChamferCube"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> CylinderMesh(TEXT("/Game/Agrarian/Environment/PlaceholderMeshes/SM_AGR_Placeholder_Cylinder.SM_AGR_Placeholder_Cylinder"));
static ConstructorHelpers::FObjectFinder<UMaterialInterface> WoodMaterial(TEXT("/Game/Agrarian/Materials/M_AGR_GZ_Wood_Resource.M_AGR_GZ_Wood_Resource"));
static ConstructorHelpers::FObjectFinder<UMaterialInterface> FiberMaterial(TEXT("/Game/Agrarian/Materials/M_AGR_GZ_Fiber_Resource.M_AGR_GZ_Fiber_Resource"));
if (ChamferCubeMesh.Succeeded())
{
Mesh->SetStaticMesh(ChamferCubeMesh.Object);
Mesh->SetRelativeScale3D(FVector(0.8f, 0.58f, 0.44f));
}
if (WoodMaterial.Succeeded())
{
Mesh->SetMaterial(0, WoodMaterial.Object);
}
ResourceClusterProxy = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("ResourceClusterProxy"));
ResourceClusterProxy->SetupAttachment(RootComponent);
ResourceClusterProxy->SetCollisionEnabled(ECollisionEnabled::NoCollision);
ResourceClusterProxy->SetGenerateOverlapEvents(false);
if (CylinderMesh.Succeeded())
{
ResourceClusterProxy->SetStaticMesh(CylinderMesh.Object);
}
if (WoodMaterial.Succeeded())
{
ResourceClusterProxy->SetMaterial(0, WoodMaterial.Object);
}
ResourceClusterProxy->SetRelativeLocation(FVector(0.0f, -18.0f, 28.0f));
ResourceClusterProxy->SetRelativeRotation(FRotator(0.0f, 90.0f, 90.0f));
ResourceClusterProxy->SetRelativeScale3D(FVector(0.12f, 0.12f, 0.7f));
HarvestableMarkerProxy = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("HarvestableMarkerProxy"));
HarvestableMarkerProxy->SetupAttachment(RootComponent);
HarvestableMarkerProxy->SetCollisionEnabled(ECollisionEnabled::NoCollision);
HarvestableMarkerProxy->SetGenerateOverlapEvents(false);
if (ChamferCubeMesh.Succeeded())
{
HarvestableMarkerProxy->SetStaticMesh(ChamferCubeMesh.Object);
}
if (FiberMaterial.Succeeded())
{
HarvestableMarkerProxy->SetMaterial(0, FiberMaterial.Object);
}
HarvestableMarkerProxy->SetRelativeLocation(FVector(0.0f, 22.0f, 36.0f));
HarvestableMarkerProxy->SetRelativeScale3D(FVector(0.28f, 0.18f, 0.22f));
YieldItem.ItemId = TEXT("wood");
YieldItem.DisplayName = FText::FromString(TEXT("Wood"));
YieldItem.Quantity = 1;