// Fill out your copyright notice in the Description page of Project Settings. #include "JournalPage.h" #include "utils_functions.h" UJournalPage::UJournalPage() { max_page_entries = 10; page_entries = TArray(); } void UJournalPage::add_entry(FString entry_name, FString entry_description) { if (page_entries.Num() < max_page_entries) { FJournalEntry entry; entry.entry_name = entry_name; entry.entry_description = entry_description; page_entries.Add(entry); } return; } void UJournalPage::remove_entry(FString entry_name) { for (int i = 0; i < page_entries.Num(); i++) { if (page_entries[i].entry_name == entry_name) { page_entries.RemoveAt(i); return; } } return; } TArray UJournalPage::get_all_entries_names() { TArray entries_names; for (const auto& entry : page_entries) { entries_names.Add(entry.entry_name); } return entries_names; } TArray UJournalPage::get_all_entries_descriptions() { TArray entries_descriptions; for (const auto& entry : page_entries) { entries_descriptions.Add(entry.entry_description); } return entries_descriptions; } FString UJournalPage::get_entry_description(FString entry_name) { for (const auto& entry : page_entries) { if (entry.entry_name == entry_name) { return entry.entry_description; } } return FString("No description found"); } int UJournalPage::get_number_of_entries() { return page_entries.Num(); }