SweetMacabreDream/Source/SURREALISM/JournalPage.cpp

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();
}