76 lines
2.1 KiB
C++
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;
|
|
|
|
};
|