Well that is what InsertScheduleItem does correct? I call that (function above) here:
#include "Warlock.h"
#include "Clerk.h"
AClerk::AClerk()
{
}
void AClerk::BeginPlay()
{
Super::BeginPlay();
citizen_class = CitizenClass::clerk;
clerk_schedule = NewObject<ASchedule>();
// basic clerk schedule
InitSchedule();
}
void AClerk::InitSchedule()
{
UScheduleItem* sleep = NewObject<UScheduleItem>();
sleep->Init(0, 8, CitizenState::sleeping);
UScheduleItem* eat1 = NewObject<UScheduleItem>();
eat1->Init(8, 9, CitizenState::eating);
UScheduleItem* work1 = NewObject<UScheduleItem>();
work1->Init(9, 13, CitizenState::working);
UScheduleItem* eat2 = NewObject<UScheduleItem>();
eat2->Init(13, 14, CitizenState::eating);
UScheduleItem* work2 = NewObject<UScheduleItem>();
work2->Init(14, 18, CitizenState::working);
UScheduleItem* eat3 = NewObject<UScheduleItem>();
eat3->Init(18, 19, CitizenState::eating);
UScheduleItem* work3 = NewObject<UScheduleItem>();
work3->Init(19, 24, CitizenState::working);
clerk_schedule->InsertScheduleItem(sleep);
clerk_schedule->InsertScheduleItem(eat1);
clerk_schedule->InsertScheduleItem(work1);
clerk_schedule->InsertScheduleItem(eat2);
clerk_schedule->InsertScheduleItem(work2);
clerk_schedule->InsertScheduleItem(eat3);
clerk_schedule->InsertScheduleItem(work3);
clerk_schedule->PrintDebug();
}
CitizenState AClerk::RetrieveScheduleTask(int hour)
{
return clerk_schedule->GetScheduleItemAt(hour)->task;
}
bool AClerk::IsInitialized()
{
UE_LOG(LogTemp, Warning, TEXT("Size is: %d"), clerk_schedule->GetSize());
return clerk_schedule->GetSize() > 0;
}