#include "KillerFormSwitchingAbility.h"
#include "GameplayTagContainer.h"
#include "Net/UnrealNetwork.h"

void UKillerFormSwitchingAbility::OnRep_CurrentFormID(const FGameplayTag& oldFormId)
{

}

float UKillerFormSwitchingAbility::GetTransitionDuration()
{
	return 0.0f;
}

FGameplayTag UKillerFormSwitchingAbility::GetCurrentFormID() const
{
	return FGameplayTag{};
}

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

	DOREPLIFETIME(UKillerFormSwitchingAbility, _currentFormID);
	DOREPLIFETIME(UKillerFormSwitchingAbility, _formSwitchingInteraction);
	DOREPLIFETIME(UKillerFormSwitchingAbility, _formSwitchingPreviousTransitionInteraction);
	DOREPLIFETIME(UKillerFormSwitchingAbility, _formSwitchingNextTransitionInteraction);
	DOREPLIFETIME(UKillerFormSwitchingAbility, _perspectiveChangeComponent);
	DOREPLIFETIME(UKillerFormSwitchingAbility, _springArm);
	DOREPLIFETIME(UKillerFormSwitchingAbility, _transitionDuration);
}

UKillerFormSwitchingAbility::UKillerFormSwitchingAbility()
{
	this->_formSwitchingInteractionClass = NULL;
	this->_formSwitchingPreviousTransitionInteractionClass = NULL;
	this->_formSwitchingNextTransitionInteractionClass = NULL;
	this->_perspectiveChangeComponentClass = NULL;
	this->_springArmClass = NULL;
	this->_transitionDuration = 1.000000;
	this->_baseTransitionDuration = 1.000000;
}
