// Copyright Epic Games, Inc. All Rights Reserved. #include "WheeledVehiclePawn.h" #include "Components/SkeletalMeshComponent.h" #include "Engine/CollisionProfile.h" #include "ChaosVehicleMovementComponent.h" #include "ChaosWheeledVehicleMovementComponent.h" #include "DisplayDebugHelpers.h" FName AWheeledVehiclePawn::VehicleMovementComponentName(TEXT("VehicleMovementComp")); FName AWheeledVehiclePawn::VehicleMeshComponentName(TEXT("VehicleMesh")); AWheeledVehiclePawn::AWheeledVehiclePawn(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { Mesh = CreateDefaultSubobject(VehicleMeshComponentName); Mesh->SetCollisionProfileName(UCollisionProfile::Vehicle_ProfileName); Mesh->BodyInstance.bSimulatePhysics = false; Mesh->BodyInstance.bNotifyRigidBodyCollision = true; Mesh->BodyInstance.bUseCCD = true; Mesh->SetGenerateOverlapEvents(true); Mesh->SetCanEverAffectNavigation(false); RootComponent = Mesh; VehicleMovementComponent = CreateDefaultSubobject(VehicleMovementComponentName); VehicleMovementComponent->SetIsReplicated(true); // Enable replication by default VehicleMovementComponent->UpdatedComponent = Mesh; } void AWheeledVehiclePawn::DisplayDebug(UCanvas* Canvas, const FDebugDisplayInfo& DebugDisplay, float& YL, float& YPos) { static FName NAME_Vehicle = FName(TEXT("Vehicle")); Super::DisplayDebug(Canvas, DebugDisplay, YL, YPos); } class UChaosVehicleMovementComponent* AWheeledVehiclePawn::GetVehicleMovementComponent() const { return VehicleMovementComponent; }