Bugfix Able to Click Dialogue on Choice Select

This commit is contained in:
Philip W 2023-05-01 05:23:43 +01:00
parent 25e9a4f4fc
commit bff44b56a7
3 changed files with 12 additions and 5 deletions

View File

@ -22,7 +22,10 @@ public:
UPROPERTY(Transient) UPROPERTY(Transient)
class UWorld* World; class UWorld* World;
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Item")
int ItemID;
//The text that will be displayed for using the item (Equip, Eat) //The text that will be displayed for using the item (Equip, Eat)
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Item") UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Item")
FText ItemUseAction; FText ItemUseAction;

View File

@ -41,11 +41,13 @@ void UDialogueNPC::BeginPlay()
Choice1Text = Cast<UTextBlock>(DialogueWidgetInstance->GetWidgetFromName("Text_Choice1")); Choice1Text = Cast<UTextBlock>(DialogueWidgetInstance->GetWidgetFromName("Text_Choice1"));
Choice2Text = Cast<UTextBlock>(DialogueWidgetInstance->GetWidgetFromName("Text_Choice2")); Choice2Text = Cast<UTextBlock>(DialogueWidgetInstance->GetWidgetFromName("Text_Choice2"));
Choice3Text = Cast<UTextBlock>(DialogueWidgetInstance->GetWidgetFromName("Text_Choice3")); Choice3Text = Cast<UTextBlock>(DialogueWidgetInstance->GetWidgetFromName("Text_Choice3"));
NextArrow = Cast<UTextBlock>(DialogueWidgetInstance->GetWidgetFromName("NextArrow"));
} }
void UDialogueNPC::NextDialogue() void UDialogueNPC::NextDialogue()
{ {
if (NextArrow->GetVisibility() == ESlateVisibility::Hidden) return;
//Dialogue Skip //Dialogue Skip
if (CurrentDialogue.Len() < CurrentDialogueStringPath[DialogueIndex].Len()) if (CurrentDialogue.Len() < CurrentDialogueStringPath[DialogueIndex].Len())
{ {
@ -67,7 +69,7 @@ void UDialogueNPC::NextDialogue()
Choice1Button->SetVisibility(ESlateVisibility::Visible); Choice1Button->SetVisibility(ESlateVisibility::Visible);
Choice2Button->SetVisibility(ESlateVisibility::Visible); Choice2Button->SetVisibility(ESlateVisibility::Visible);
if (Choice3Text->GetText().ToString() != "") Choice3Button->SetVisibility(ESlateVisibility::Visible); if (Choice3Text->GetText().ToString() != "") Choice3Button->SetVisibility(ESlateVisibility::Visible);
NextButton->SetVisibility(ESlateVisibility::Hidden); NextArrow->SetVisibility(ESlateVisibility::Hidden);
return; return;
} }
CurrentDialogue = ""; CurrentDialogue = "";
@ -175,7 +177,7 @@ void UDialogueNPC::Choice1()
Choice1Button->SetVisibility(ESlateVisibility::Hidden); Choice1Button->SetVisibility(ESlateVisibility::Hidden);
Choice2Button->SetVisibility(ESlateVisibility::Hidden); Choice2Button->SetVisibility(ESlateVisibility::Hidden);
Choice3Button->SetVisibility(ESlateVisibility::Hidden); Choice3Button->SetVisibility(ESlateVisibility::Hidden);
NextButton->SetVisibility(ESlateVisibility::Visible); NextArrow->SetVisibility(ESlateVisibility::Visible);
} }
void UDialogueNPC::Choice2() void UDialogueNPC::Choice2()
@ -188,7 +190,7 @@ void UDialogueNPC::Choice2()
Choice1Button->SetVisibility(ESlateVisibility::Hidden); Choice1Button->SetVisibility(ESlateVisibility::Hidden);
Choice2Button->SetVisibility(ESlateVisibility::Hidden); Choice2Button->SetVisibility(ESlateVisibility::Hidden);
Choice3Button->SetVisibility(ESlateVisibility::Hidden); Choice3Button->SetVisibility(ESlateVisibility::Hidden);
NextButton->SetVisibility(ESlateVisibility::Visible); NextArrow->SetVisibility(ESlateVisibility::Visible);
} }
void UDialogueNPC::Choice3() void UDialogueNPC::Choice3()
@ -201,5 +203,5 @@ void UDialogueNPC::Choice3()
Choice1Button->SetVisibility(ESlateVisibility::Hidden); Choice1Button->SetVisibility(ESlateVisibility::Hidden);
Choice2Button->SetVisibility(ESlateVisibility::Hidden); Choice2Button->SetVisibility(ESlateVisibility::Hidden);
Choice3Button->SetVisibility(ESlateVisibility::Hidden); Choice3Button->SetVisibility(ESlateVisibility::Hidden);
NextButton->SetVisibility(ESlateVisibility::Visible); NextArrow->SetVisibility(ESlateVisibility::Visible);
} }

View File

@ -75,6 +75,8 @@ private:
UTextBlock* Choice2Text; UTextBlock* Choice2Text;
UPROPERTY() UPROPERTY()
UTextBlock* Choice3Text; UTextBlock* Choice3Text;
UPROPERTY()
UTextBlock* NextArrow;
UPROPERTY() UPROPERTY()
UButton* NextButton; UButton* NextButton;