Add readable MVP survival object proxies
This commit is contained in:
@@ -4,11 +4,37 @@
|
||||
#include "AgrarianGameCharacter.h"
|
||||
#include "AgrarianInventoryComponent.h"
|
||||
#include "AIController.h"
|
||||
#include "Components/StaticMeshComponent.h"
|
||||
#include "Engine/StaticMesh.h"
|
||||
#include "GameFramework/CharacterMovementComponent.h"
|
||||
#include "Kismet/GameplayStatics.h"
|
||||
#include "Materials/MaterialInterface.h"
|
||||
#include "Navigation/PathFollowingComponent.h"
|
||||
#include "NavigationSystem.h"
|
||||
#include "Net/UnrealNetwork.h"
|
||||
#include "UObject/ConstructorHelpers.h"
|
||||
|
||||
namespace
|
||||
{
|
||||
void ConfigureWildlifeProxyComponent(UStaticMeshComponent* Component, UStaticMesh* MeshAsset, UMaterialInterface* MaterialAsset)
|
||||
{
|
||||
if (!Component)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Component->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||
Component->SetGenerateOverlapEvents(false);
|
||||
if (MeshAsset)
|
||||
{
|
||||
Component->SetStaticMesh(MeshAsset);
|
||||
}
|
||||
if (MaterialAsset)
|
||||
{
|
||||
Component->SetMaterial(0, MaterialAsset);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AAgrarianWildlifeBase::AAgrarianWildlifeBase()
|
||||
{
|
||||
@@ -22,6 +48,44 @@ AAgrarianWildlifeBase::AAgrarianWildlifeBase()
|
||||
GetCharacterMovement()->bOrientRotationToMovement = true;
|
||||
bUseControllerRotationYaw = false;
|
||||
|
||||
static ConstructorHelpers::FObjectFinder<UStaticMesh> ChamferCubeMesh(TEXT("/Game/Agrarian/Environment/PlaceholderMeshes/SM_AGR_Placeholder_ChamferCube.SM_AGR_Placeholder_ChamferCube"));
|
||||
static ConstructorHelpers::FObjectFinder<UStaticMesh> CubeMesh(TEXT("/Game/Agrarian/Environment/PlaceholderMeshes/SM_AGR_Placeholder_Cube.SM_AGR_Placeholder_Cube"));
|
||||
static ConstructorHelpers::FObjectFinder<UStaticMesh> CylinderMesh(TEXT("/Game/Agrarian/Environment/PlaceholderMeshes/SM_AGR_Placeholder_Cylinder.SM_AGR_Placeholder_Cylinder"));
|
||||
static ConstructorHelpers::FObjectFinder<UMaterialInterface> FurMaterial(TEXT("/Game/Agrarian/Materials/M_AGR_GZ_Fiber_Resource.M_AGR_GZ_Fiber_Resource"));
|
||||
|
||||
WildlifeBodyProxy = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("WildlifeBodyProxy"));
|
||||
WildlifeBodyProxy->SetupAttachment(RootComponent);
|
||||
ConfigureWildlifeProxyComponent(WildlifeBodyProxy, ChamferCubeMesh.Succeeded() ? ChamferCubeMesh.Object : nullptr, FurMaterial.Succeeded() ? FurMaterial.Object : nullptr);
|
||||
WildlifeBodyProxy->SetRelativeLocation(FVector(10.0f, 0.0f, -42.0f));
|
||||
WildlifeBodyProxy->SetRelativeScale3D(FVector(0.62f, 0.32f, 0.24f));
|
||||
|
||||
WildlifeHeadProxy = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("WildlifeHeadProxy"));
|
||||
WildlifeHeadProxy->SetupAttachment(WildlifeBodyProxy);
|
||||
ConfigureWildlifeProxyComponent(WildlifeHeadProxy, ChamferCubeMesh.Succeeded() ? ChamferCubeMesh.Object : nullptr, FurMaterial.Succeeded() ? FurMaterial.Object : nullptr);
|
||||
WildlifeHeadProxy->SetRelativeLocation(FVector(42.0f, 0.0f, 20.0f));
|
||||
WildlifeHeadProxy->SetRelativeScale3D(FVector(0.46f, 0.34f, 0.36f));
|
||||
|
||||
WildlifeEarProxyA = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("WildlifeEarProxyA"));
|
||||
WildlifeEarProxyA->SetupAttachment(WildlifeHeadProxy);
|
||||
ConfigureWildlifeProxyComponent(WildlifeEarProxyA, CubeMesh.Succeeded() ? CubeMesh.Object : nullptr, FurMaterial.Succeeded() ? FurMaterial.Object : nullptr);
|
||||
WildlifeEarProxyA->SetRelativeLocation(FVector(4.0f, -12.0f, 28.0f));
|
||||
WildlifeEarProxyA->SetRelativeRotation(FRotator(0.0f, 0.0f, -10.0f));
|
||||
WildlifeEarProxyA->SetRelativeScale3D(FVector(0.08f, 0.08f, 0.38f));
|
||||
|
||||
WildlifeEarProxyB = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("WildlifeEarProxyB"));
|
||||
WildlifeEarProxyB->SetupAttachment(WildlifeHeadProxy);
|
||||
ConfigureWildlifeProxyComponent(WildlifeEarProxyB, CubeMesh.Succeeded() ? CubeMesh.Object : nullptr, FurMaterial.Succeeded() ? FurMaterial.Object : nullptr);
|
||||
WildlifeEarProxyB->SetRelativeLocation(FVector(4.0f, 12.0f, 28.0f));
|
||||
WildlifeEarProxyB->SetRelativeRotation(FRotator(0.0f, 0.0f, 10.0f));
|
||||
WildlifeEarProxyB->SetRelativeScale3D(FVector(0.08f, 0.08f, 0.38f));
|
||||
|
||||
WildlifeTailProxy = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("WildlifeTailProxy"));
|
||||
WildlifeTailProxy->SetupAttachment(WildlifeBodyProxy);
|
||||
ConfigureWildlifeProxyComponent(WildlifeTailProxy, CylinderMesh.Succeeded() ? CylinderMesh.Object : nullptr, FurMaterial.Succeeded() ? FurMaterial.Object : nullptr);
|
||||
WildlifeTailProxy->SetRelativeLocation(FVector(-42.0f, 0.0f, 10.0f));
|
||||
WildlifeTailProxy->SetRelativeRotation(FRotator(0.0f, 90.0f, 90.0f));
|
||||
WildlifeTailProxy->SetRelativeScale3D(FVector(0.12f, 0.12f, 0.24f));
|
||||
|
||||
DisplayName = FText::FromString(TEXT("Wildlife"));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user