Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Copyrights Tadeusz Hyży <[email protected]>
- #include "BuildingEscape.h"
- #include "OpenDoor.h"
- UOpenDoor::UOpenDoor()
- {
- PrimaryComponentTick.bCanEverTick = true;
- MaxOpenAngle = 90.f;
- MinOpenAngle = 0.f;
- }
- void UOpenDoor::BeginPlay()
- {
- Super::BeginPlay();
- ActorThatOpens = GetWorld()->GetFirstPlayerController()->GetPawn();
- Owner = GetOwner();
- }
- void UOpenDoor::OpenDoor()
- {
- float OpenAngle = Owner->GetActorRotation().Yaw;
- if (OpenAngle < MaxOpenAngle)
- {
- Owner->SetActorRotation(FRotator(0.f, (OpenAngle + 1.f), 0.f));
- }
- }
- void UOpenDoor::CloseDoor()
- {
- float OpenAngle = Owner->GetActorRotation().Yaw;
- if (OpenAngle > MinOpenAngle)
- {
- Owner->SetActorRotation(FRotator(0.f, (OpenAngle - 1.f), 0.f));
- }
- }
- void UOpenDoor::TickComponent( float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction )
- {
- Super::TickComponent( DeltaTime, TickType, ThisTickFunction );
- if (PressurePlate->IsOverlappingActor(ActorThatOpens))
- {
- OpenDoor();
- }
- else
- {
- CloseDoor();
- }
- }
Add Comment
Please, Sign In to add comment