SweetMacabreDream/Source/SURREALISM/JournalWidget.h

76 lines
2.1 KiB
C++

// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Blueprint/UserWidget.h"
#include "JournalPage.h"
#include "JournalWidget.generated.h"
/**
*
*/
UCLASS(Blueprintable)
class SURREALISM_API UJournalWidget : public UUserWidget
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Journal")
TArray<UJournalPage*> journal_pages;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Journal")
int max_pages = 10;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Journal")
int current_number_of_pages = 0;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Journal")
int current_page_number = 0;
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
int get_current_number_of_page();
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
void next_page();
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
void previous_page();
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
void go_to_page(int page_number);
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
void remove_page(int page_number);
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
TArray<FString> get_current_page_entries_names();
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
FString get_entry_description(FString entry_name);
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
int add_page();
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
void add_to_journal(FString item_name, FString item_description);
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
void clear_journal();
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
void print_current_page();
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
int get_current_pages_number();
UFUNCTION(BlueprintCallable, CallInEditor, Category = "Journal")
int get_number_of_entries_in_current_page();
virtual void NativeConstruct() override;
};