MyActor.cpp
// Fill out your copyright notice in the Description page of Project Settings.
#include "MyProject.h"
#include "MyActor.h"
// Sets default values
AMyActor::AMyActor()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
MyMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("MyMesh"));
MyShape = CreateDefaultSubobject<UCapsuleComponent>(TEXT("MyShape"));
MyShape->bGenerateOverlapEvents = true;
MyShape->OnComponentBeginOverlap.AddDynamic(this, &AMyActor::OnEnter);
}
// Called when the game starts or when spawned
void AMyActor::BeginPlay()
{
Super::BeginPlay();
}
// Called every frame
void AMyActor::Tick( float DeltaTime )
{
Super::Tick( DeltaTime );
}
void AMyActor::OnEnter(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor)
{
printf("Was that sexual harrasment!");
}
MyActor.h:
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include “GameFramework/Actor.h”
#include “MyActor.generated.h”
UCLASS()
class MYPROJECT_API AMyActor : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor’s properties
AMyActor();
AMyActor();
// Called when the game starts or when spawned
virtual void BeginPlay() override;
// Called every frame
virtual void Tick( float DeltaSeconds ) override;
UPROPERTY(EditAnywhere)
UStaticMeshComponent* MyMesh;
UPROPERTY(EditAnywhere)
UCapsuleComponent* MyShape;
USceneComponent* newScene;
UFUNCTION()
void OnEnter(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor);
};