#include "FuelPump.h"
#include "Net/UnrealNetwork.h"
#include "AuthoritativeActorPoolComponent.h"
#include "ActorPoolInitializer.h"
#include "MontagePlayer.h"
#include "ChargeableComponent.h"

void AFuelPump::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
{
	Super::GetLifetimeReplicatedProps(OutLifetimeProps);

	DOREPLIFETIME(AFuelPump, _reservoir);
	DOREPLIFETIME(AFuelPump, _isRefilling);
	DOREPLIFETIME(AFuelPump, _gainChargesUsingRefillRate);
}

AFuelPump::AFuelPump()
{
	this->_jerryCanPoolComponent = CreateDefaultSubobject<UAuthoritativeActorPoolComponent>(TEXT("JerryCanPoolComponent"));
	this->_jerryCanPoolInitializerComponent = CreateDefaultSubobject<UActorPoolInitializer>(TEXT("JerryCanPoolInitializerComponent"));
	this->_montagePlayer = CreateDefaultSubobject<UMontagePlayer>(TEXT("MontagePlayer"));
	this->_reservoir = CreateDefaultSubobject<UChargeableComponent>(TEXT("Reservoir"));
	this->_isRefilling = false;
	this->_gainChargesUsingRefillRate = false;
	this->_survivorStatusEffect = NULL;
}
