Add spell training widget and logic
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
|
||||
#include "SpellTrainWidget.h"
|
||||
|
||||
#include "Components/Button.h"
|
||||
#include "Components/EditableTextBox.h"
|
||||
|
||||
void USpellTrainWidget::AddNewTemplate()
|
||||
{
|
||||
UE_LOG(
|
||||
LogTemp,
|
||||
Warning,
|
||||
TEXT("USpellTrainWidget::AddNewTemplate()")
|
||||
);
|
||||
ALumiCharacter* Lumi = nullptr;
|
||||
LumiController->GetLumiCharacter(Lumi);
|
||||
const FString Name = TxtBoxName->GetText().ToString();
|
||||
Lumi->AddSpellTemplateToTable(Name);
|
||||
|
||||
GEngine->AddOnScreenDebugMessage(
|
||||
-1,
|
||||
10.f,
|
||||
FColor::Black,
|
||||
TEXT("Template with name: ") + Name + TEXT(" added to table.")
|
||||
);
|
||||
}
|
||||
|
||||
void USpellTrainWidget::Clear()
|
||||
{
|
||||
UE_LOG(
|
||||
LogTemp,
|
||||
Warning,
|
||||
TEXT("USpellTrainWidget::Clear()")
|
||||
);
|
||||
|
||||
ALumiCharacter* Lumi = nullptr;
|
||||
LumiController->GetLumiCharacter(Lumi);
|
||||
Lumi->HideTrainWidget();
|
||||
}
|
||||
|
||||
void USpellTrainWidget::NativeConstruct()
|
||||
{
|
||||
Super::NativeConstruct();
|
||||
|
||||
if (APlayerController* PlayerController = GetOwningPlayer())
|
||||
{
|
||||
LumiController = Cast<ALumiController>(PlayerController);
|
||||
}
|
||||
|
||||
BtnAdd->OnClicked.AddUniqueDynamic(this, &USpellTrainWidget::AddNewTemplate);
|
||||
BtnClear->OnClicked.AddUniqueDynamic(this, &USpellTrainWidget::Clear);
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Blueprint/UserWidget.h"
|
||||
#include "WizardingCentral/Characters/LumiController.h"
|
||||
#include "SpellTrainWidget.generated.h"
|
||||
|
||||
class UButton;
|
||||
class UEditableTextBox;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class WIZARDINGCENTRAL_API USpellTrainWidget : public UUserWidget
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
protected:
|
||||
UPROPERTY(meta = (BindWidget))
|
||||
TObjectPtr<UButton> BtnAdd;
|
||||
|
||||
UPROPERTY(meta = (BindWidget))
|
||||
TObjectPtr<UButton> BtnClear;
|
||||
|
||||
UPROPERTY(meta = (BindWidget))
|
||||
TObjectPtr<UEditableTextBox> TxtBoxName;
|
||||
|
||||
private:
|
||||
TObjectPtr<ALumiController> LumiController;
|
||||
|
||||
protected:
|
||||
UFUNCTION()
|
||||
void
|
||||
AddNewTemplate();
|
||||
|
||||
UFUNCTION()
|
||||
void
|
||||
Clear();
|
||||
|
||||
virtual void NativeConstruct() override;
|
||||
};
|
||||
Reference in New Issue
Block a user