// Fill out your copyright notice in the Description page of Project Settings. #include "TempCharacter.h" #include "../../../Plugins/Developer/RiderLink/Source/RD/thirdparty/clsocket/src/ActiveSocket.h" // CONSTRUCTOR ATempCharacter::ATempCharacter() { // Set this character to call Tick() every frame. You can turn this off to improve performance if you don't need it. PrimaryActorTick.bCanEverTick = true; } // Called when the game starts or when spawned void ATempCharacter::BeginPlay() { Super::BeginPlay(); } //Binds the input we made in the setup player component to the forward vector void ATempCharacter::ForwardInput(float Axis) { AddMovementInput(GetActorForwardVector()* Axis); } //Binds the input we made in the setup player component to the right vector void ATempCharacter::RightMoveInput(float Axis) { AddMovementInput(GetActorRightVector()* Axis); } // Called every frame void ATempCharacter::Tick(float DeltaTime) { Super::Tick(DeltaTime); } // Called to bind functionality to input void ATempCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) { Super::SetupPlayerInputComponent(PlayerInputComponent); PlayerInputComponent->BindAxis(TEXT("Move Forward / Backward"), this, &ATempCharacter::ForwardInput); PlayerInputComponent->BindAxis(TEXT("Move Right / Left"), this, &ATempCharacter::RightMoveInput); PlayerInputComponent->BindAxis(TEXT("Turn Right / Left Mouse"), this, &ATempCharacter::AddControllerYawInput); PlayerInputComponent->BindAxis(TEXT("Look Up / Down Mouse"), this, &ATempCharacter::AddControllerPitchInput); PlayerInputComponent->BindAction("Interact", IE_Pressed, this, &ATempCharacter::KeyPressed); // custom keybind Interact } /* TODO: Make custom bool for pressed interact in trigger Make custom bool for when player enters the trigger its set to true Make if statement if both flags are true then dilouge box pops up */ void ATempCharacter::KeyPressed() { //vars for LineTraceSingleByChannel TraceDistance = 1000; FHitResult Hit; FVector Start = GetActorLocation(); FVector End = Start + TraceDistance * GetActorForwardVector(); FCollisionQueryParams TraceParams; TraceParams.AddIgnoredActor(this); bool bHit = GetWorld()->LineTraceSingleByChannel(Hit,Start,End,ECC_Visibility, TraceParams); if(bHit) { DrawDebugLine(GetWorld(),Start, End, FColor::Green, false, 1.0f); UE_LOG(LogTemp, Display, TEXT("HIT: %s"), *Hit.GetActor()->GetName()); } else { UE_LOG(LogTemp, Display, TEXT("BHIT IS FALSE")); } }