Updated TempCharacter to fix Camera issues
Fixed the UI not returning after player exits the merchant. Fixed the bug where if a player jumps and interacts with the merchant and then exits the camera is stuck in the air instead of resetting properly.
This commit is contained in:
parent
093825dc0d
commit
df4499fdde
@ -219,7 +219,7 @@ void ATempCharacter::InputDisabler()
|
|||||||
{
|
{
|
||||||
PlayerCharacter->DisableInput(GetWorld()->GetFirstPlayerController());
|
PlayerCharacter->DisableInput(GetWorld()->GetFirstPlayerController());
|
||||||
}
|
}
|
||||||
//TURNING OFF CROSSHAIR
|
//TURNING OFF CROSSHAIR & IMPORTANT STATS
|
||||||
|
|
||||||
CrossHairWidget->SetVisibility(ESlateVisibility::Hidden);
|
CrossHairWidget->SetVisibility(ESlateVisibility::Hidden);
|
||||||
ImportantStatsWidget->SetVisibility(ESlateVisibility::Hidden);
|
ImportantStatsWidget->SetVisibility(ESlateVisibility::Hidden);
|
||||||
@ -228,14 +228,14 @@ void ATempCharacter::InputDisabler()
|
|||||||
APlayerController* PlayerController = GetWorld()->GetFirstPlayerController();
|
APlayerController* PlayerController = GetWorld()->GetFirstPlayerController();
|
||||||
PlayerController->SetInputMode(FInputModeUIOnly());
|
PlayerController->SetInputMode(FInputModeUIOnly());
|
||||||
PlayerController->bShowMouseCursor = true;
|
PlayerController->bShowMouseCursor = true;
|
||||||
|
|
||||||
disableTab = true;
|
disableTab = true;
|
||||||
if (ThisCamera != nullptr)
|
if (ThisCamera != nullptr)
|
||||||
{
|
{
|
||||||
OriginalCameraLocation = ThisCamera->GetComponentLocation();
|
return;
|
||||||
OriginalCameraRotation = ThisCamera->GetComponentRotation();
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
OriginalCameraFOV = ThisCamera->FieldOfView;
|
OriginalCameraFOV = ThisCamera->FieldOfView;
|
||||||
UE_LOG(LogTemp, Display, TEXT("Original Camera Location: %s"), *OriginalCameraLocation.ToString());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -246,20 +246,27 @@ void ATempCharacter::InputEnabler()
|
|||||||
{
|
{
|
||||||
PlayerCharacter->EnableInput(GetWorld()->GetFirstPlayerController());
|
PlayerCharacter->EnableInput(GetWorld()->GetFirstPlayerController());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TURNING ON THE CROSSHAIR AND IMPORTANTSTATS WIDGET
|
||||||
|
|
||||||
|
CrossHairWidget->SetVisibility(ESlateVisibility::Visible);
|
||||||
|
ImportantStatsWidget->SetVisibility(ESlateVisibility::Visible);
|
||||||
|
|
||||||
//Reset UI Mode
|
//Reset UI Mode
|
||||||
APlayerController* PlayerController = GetWorld()->GetFirstPlayerController();
|
APlayerController* PlayerController = GetWorld()->GetFirstPlayerController();
|
||||||
PlayerController->SetInputMode(FInputModeGameOnly());
|
PlayerController->SetInputMode(FInputModeGameOnly());
|
||||||
PlayerController->bShowMouseCursor = false;
|
PlayerController->bShowMouseCursor = false;
|
||||||
|
|
||||||
UE_LOG(LogTemp, Display, TEXT("Enabling Inputs"));
|
|
||||||
disableTab = true;
|
disableTab = true;
|
||||||
TraceDistance = 300;
|
TraceDistance = 300;
|
||||||
if (ThisCamera != nullptr)
|
if (ThisCamera != nullptr)
|
||||||
{
|
{
|
||||||
ThisCamera->SetWorldLocation(OriginalCameraLocation);
|
return;
|
||||||
ThisCamera->SetWorldRotation(OriginalCameraRotation);
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
ThisCamera->FieldOfView = OriginalCameraFOV;
|
ThisCamera->FieldOfView = OriginalCameraFOV;
|
||||||
UE_LOG(LogTemp, Display, TEXT("Original Camera Location: %s"), *OriginalCameraLocation.ToString());
|
ThisCamera->ResetRelativeTransform();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user