Updated DialogueNPC to Disable Character Movement
This commit is contained in:
parent
3433254463
commit
5c5b915225
@ -4,6 +4,7 @@
|
||||
#include "DialogueNPC.h"
|
||||
#include "Blueprint/UserWidget.h"
|
||||
#include "Components/TextBlock.h"
|
||||
#include "GameFramework/Character.h"
|
||||
|
||||
// Sets default values for this component's properties
|
||||
UDialogueNPC::UDialogueNPC()
|
||||
@ -57,7 +58,7 @@ void UDialogueNPC::NextDialogue()
|
||||
void UDialogueNPC::NextCharacter()
|
||||
{
|
||||
if (DialogueIndex >= Dialogue.Num()) return;
|
||||
|
||||
|
||||
if (CurrentDialogue.Len() < Dialogue[DialogueIndex].Len())
|
||||
{
|
||||
CurrentDialogue.AppendChar(Dialogue[DialogueIndex][CurrentDialogue.Len()]);
|
||||
@ -75,11 +76,16 @@ void UDialogueNPC::TickComponent(float DeltaTime, ELevelTick TickType, FActorCom
|
||||
|
||||
void UDialogueNPC::StartDialogue()
|
||||
{
|
||||
//Disable Character Movement
|
||||
if (ACharacter* PlayerCharacter = Cast<ACharacter>(GetWorld()->GetFirstPlayerController()->GetPawn()))
|
||||
{
|
||||
PlayerCharacter->DisableInput(GetWorld()->GetFirstPlayerController());
|
||||
}
|
||||
//Set to UI Mode Only
|
||||
APlayerController* PlayerController = GetWorld()->GetFirstPlayerController();
|
||||
PlayerController->SetInputMode(FInputModeUIOnly());
|
||||
PlayerController->bShowMouseCursor = true;
|
||||
|
||||
|
||||
DialogueWidgetInstance->AddToViewport();
|
||||
DialogueIndex = 0;
|
||||
NPCNameText->SetText(FText::FromString(NPCName));
|
||||
@ -92,6 +98,11 @@ void UDialogueNPC::EndDialogue()
|
||||
TextAnimationTimerHandle.Invalidate();
|
||||
DialogueWidgetInstance->RemoveFromParent();
|
||||
|
||||
//Enable Character Movement
|
||||
if (ACharacter* PlayerCharacter = Cast<ACharacter>(GetWorld()->GetFirstPlayerController()->GetPawn()))
|
||||
{
|
||||
PlayerCharacter->EnableInput(GetWorld()->GetFirstPlayerController());
|
||||
}
|
||||
//Reset UI Mode
|
||||
APlayerController* PlayerController = GetWorld()->GetFirstPlayerController();
|
||||
PlayerController->SetInputMode(FInputModeGameOnly());
|
||||
|
Loading…
x
Reference in New Issue
Block a user