75 lines
1.6 KiB
C++
75 lines
1.6 KiB
C++
// 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<FJournalEntry>();
|
|
|
|
}
|
|
|
|
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<FString> UJournalPage::get_all_entries_names()
|
|
{
|
|
TArray<FString> entries_names;
|
|
for (const auto& entry : page_entries)
|
|
{
|
|
entries_names.Add(entry.entry_name);
|
|
}
|
|
return entries_names;
|
|
}
|
|
|
|
TArray<FString> UJournalPage::get_all_entries_descriptions()
|
|
{
|
|
TArray<FString> 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();
|
|
} |