From bff44b56a7a67fc7b787bc45887080780e968e0d Mon Sep 17 00:00:00 2001 From: PHILIP White Date: Mon, 1 May 2023 05:23:43 +0100 Subject: [PATCH] Bugfix Able to Click Dialogue on Choice Select --- Source/the_twilight_abyss/BaseItems/Items/BaseItem.h | 5 ++++- Source/the_twilight_abyss/Dialogue/DialogueNPC.cpp | 10 ++++++---- Source/the_twilight_abyss/Dialogue/DialogueNPC.h | 2 ++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Source/the_twilight_abyss/BaseItems/Items/BaseItem.h b/Source/the_twilight_abyss/BaseItems/Items/BaseItem.h index 5072b7b..de0964b 100644 --- a/Source/the_twilight_abyss/BaseItems/Items/BaseItem.h +++ b/Source/the_twilight_abyss/BaseItems/Items/BaseItem.h @@ -22,7 +22,10 @@ public: UPROPERTY(Transient) class UWorld* World; - + + UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Item") + int ItemID; + //The text that will be displayed for using the item (Equip, Eat) UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Item") FText ItemUseAction; diff --git a/Source/the_twilight_abyss/Dialogue/DialogueNPC.cpp b/Source/the_twilight_abyss/Dialogue/DialogueNPC.cpp index 4630d66..6c8dea0 100644 --- a/Source/the_twilight_abyss/Dialogue/DialogueNPC.cpp +++ b/Source/the_twilight_abyss/Dialogue/DialogueNPC.cpp @@ -41,11 +41,13 @@ void UDialogueNPC::BeginPlay() Choice1Text = Cast(DialogueWidgetInstance->GetWidgetFromName("Text_Choice1")); Choice2Text = Cast(DialogueWidgetInstance->GetWidgetFromName("Text_Choice2")); Choice3Text = Cast(DialogueWidgetInstance->GetWidgetFromName("Text_Choice3")); + NextArrow = Cast(DialogueWidgetInstance->GetWidgetFromName("NextArrow")); } void UDialogueNPC::NextDialogue() { + if (NextArrow->GetVisibility() == ESlateVisibility::Hidden) return; //Dialogue Skip if (CurrentDialogue.Len() < CurrentDialogueStringPath[DialogueIndex].Len()) { @@ -67,7 +69,7 @@ void UDialogueNPC::NextDialogue() Choice1Button->SetVisibility(ESlateVisibility::Visible); Choice2Button->SetVisibility(ESlateVisibility::Visible); if (Choice3Text->GetText().ToString() != "") Choice3Button->SetVisibility(ESlateVisibility::Visible); - NextButton->SetVisibility(ESlateVisibility::Hidden); + NextArrow->SetVisibility(ESlateVisibility::Hidden); return; } CurrentDialogue = ""; @@ -175,7 +177,7 @@ void UDialogueNPC::Choice1() Choice1Button->SetVisibility(ESlateVisibility::Hidden); Choice2Button->SetVisibility(ESlateVisibility::Hidden); Choice3Button->SetVisibility(ESlateVisibility::Hidden); - NextButton->SetVisibility(ESlateVisibility::Visible); + NextArrow->SetVisibility(ESlateVisibility::Visible); } void UDialogueNPC::Choice2() @@ -188,7 +190,7 @@ void UDialogueNPC::Choice2() Choice1Button->SetVisibility(ESlateVisibility::Hidden); Choice2Button->SetVisibility(ESlateVisibility::Hidden); Choice3Button->SetVisibility(ESlateVisibility::Hidden); - NextButton->SetVisibility(ESlateVisibility::Visible); + NextArrow->SetVisibility(ESlateVisibility::Visible); } void UDialogueNPC::Choice3() @@ -201,5 +203,5 @@ void UDialogueNPC::Choice3() Choice1Button->SetVisibility(ESlateVisibility::Hidden); Choice2Button->SetVisibility(ESlateVisibility::Hidden); Choice3Button->SetVisibility(ESlateVisibility::Hidden); - NextButton->SetVisibility(ESlateVisibility::Visible); + NextArrow->SetVisibility(ESlateVisibility::Visible); } diff --git a/Source/the_twilight_abyss/Dialogue/DialogueNPC.h b/Source/the_twilight_abyss/Dialogue/DialogueNPC.h index 4ceda47..04ca90c 100644 --- a/Source/the_twilight_abyss/Dialogue/DialogueNPC.h +++ b/Source/the_twilight_abyss/Dialogue/DialogueNPC.h @@ -75,6 +75,8 @@ private: UTextBlock* Choice2Text; UPROPERTY() UTextBlock* Choice3Text; + UPROPERTY() + UTextBlock* NextArrow; UPROPERTY() UButton* NextButton;