Advertisement
Dirt113

Pawn constructor

Nov 17th, 2015
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.48 KB | None | 0 0
  1. /** Default constructor */
  2. ADHPawn::ADHPawn(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer)
  3. {
  4.     // Set this pawn to call Tick() every frame
  5.     PrimaryActorTick.bCanEverTick = true;
  6.  
  7.     // Set this pawn to replicate
  8.     bReplicates = true;
  9.     // Set this pawn to replicate movement
  10.     bReplicateMovement = true;
  11.  
  12.     // Create capsule component
  13.     CapsuleComponent = ObjectInitializer.CreateDefaultSubobject<UCapsuleComponent>(this, "Capsule Component");
  14.     // Configure capsule component
  15.     CapsuleComponent->SetCapsuleSize(34.0f, 88.0f, true);
  16.     CapsuleComponent->SetEnableGravity(true);
  17.     CapsuleComponent->SetCollisionProfileName("Pawn");
  18.  
  19.     // Set root component to capsule component
  20.     SetRootComponent(CapsuleComponent);
  21.  
  22.     // Create pawn movement component
  23.     PawnMovement = ObjectInitializer.CreateDefaultSubobject<UDHPawnMovementComponent>(this, "Pawn Movement");
  24.     PawnMovement->UpdatedComponent = RootComponent;
  25.  
  26.     // Create first person camera
  27.     FirstPersonCamera = ObjectInitializer.CreateDefaultSubobject<UCameraComponent>(this, "First Person Camera");
  28.     // Configure first person camera
  29.     FirstPersonCamera->AttachTo(CapsuleComponent);
  30.     FirstPersonCamera->SetRelativeLocation(FVector(0.0f, 0.0f, 64.0f));
  31.     FirstPersonCamera->bUsePawnControlRotation = true; // Allow pawn to control rotation
  32.  
  33.     // Create first person mesh
  34.     FirstPersonMesh = ObjectInitializer.CreateDefaultSubobject<USkeletalMeshComponent>(this, "First Person Mesh");
  35.     // Configure first person mesh
  36.     FirstPersonMesh->AttachTo(FirstPersonCamera);
  37.     FirstPersonMesh->SetCastShadow(false);
  38.     FirstPersonMesh->bOnlyOwnerSee = true; // Only owner can see first person mesh
  39.     FirstPersonMesh->SetCollisionProfileName("Pawn");
  40.  
  41.     // Create first person weapon mesh
  42.     FirstPersonItemMesh = ObjectInitializer.CreateDefaultSubobject<USkeletalMeshComponent>(this, "First Person Item Mesh");
  43.     // Configure first person weapon mesh
  44.     FirstPersonItemMesh->AttachTo(FirstPersonMesh);
  45.     FirstPersonItemMesh->SetCastShadow(false);
  46.     FirstPersonItemMesh->bOnlyOwnerSee = true; // Only owner can see first person item mesh
  47.     FirstPersonItemMesh->SetCollisionProfileName("Pawn");
  48.  
  49.     // Create third person mesh
  50.     ThirdPersonMesh = ObjectInitializer.CreateDefaultSubobject<USkeletalMeshComponent>(this, "Third Person Mesh");
  51.     // Configure third person mesh
  52.     ThirdPersonMesh->AttachTo(CapsuleComponent);
  53.     ThirdPersonMesh->bOwnerNoSee = true; // Owner cannot see third person mesh
  54.     ThirdPersonMesh->SetCollisionProfileName("Pawn");
  55.  
  56.     // Create third person weapon mesh
  57.     ThirdPersonItemMesh = ObjectInitializer.CreateDefaultSubobject<USkeletalMeshComponent>(this, "Third Person Item Mesh");
  58.     // Configure third person weapon mesh
  59.     ThirdPersonItemMesh->AttachTo(ThirdPersonMesh);
  60.     ThirdPersonItemMesh->bOwnerNoSee = true; // Owner cannot see third person item mesh
  61.     ThirdPersonItemMesh->SetCollisionProfileName("Pawn");
  62.  
  63.     // Create orbital spring arm
  64.     OrbitalSpringArm = ObjectInitializer.CreateDefaultSubobject<USpringArmComponent>(this, "Orbital Spring Arm");
  65.     // Configure orbital spring arm
  66.     OrbitalSpringArm->TargetArmLength = 500.0f;
  67.     OrbitalSpringArm->AttachTo(CapsuleComponent);
  68.     OrbitalSpringArm->bUsePawnControlRotation = true; // Allow pawn to control rotation
  69.  
  70.     // Create orbital camera
  71.     OrbitalCamera = ObjectInitializer.CreateDefaultSubobject<UCameraComponent>(this, "Orbital Camera");
  72.     // Configure orbital camera
  73.     OrbitalCamera->AttachTo(OrbitalSpringArm);
  74.     OrbitalCamera->bUsePawnControlRotation = true; // Allow pawn to control rotation   
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement