#include "K36MagicItem.h"
#include "EK36MagicItemType.h"
#include "Net/UnrealNetwork.h"
#include "Components/SceneComponent.h"
#include "Components/StaticMeshComponent.h"

class UK36SpellCounterStatusEffect;
class UK36SpellCounterData;

void AK36MagicItem::OnRep_SpellCounterData()
{

}

void AK36MagicItem::OnRep_MagicItemState()
{

}

void AK36MagicItem::OnRep_ImposedStatusEffect(UK36SpellCounterStatusEffect* previouslyImposedEffect)
{

}

void AK36MagicItem::OnLocallyObservedPawnChanged()
{

}

UK36SpellCounterData* AK36MagicItem::GetSpellCounterData() const
{
	return NULL;
}

EK36MagicItemType AK36MagicItem::GetMagicItemType() const
{
	return EK36MagicItemType::Bracer;
}

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

	DOREPLIFETIME(AK36MagicItem, _imposedStatusEffect);
	DOREPLIFETIME(AK36MagicItem, _magicItemState);
	DOREPLIFETIME(AK36MagicItem, _spellCounter);
}

AK36MagicItem::AK36MagicItem()
{
	this->_magicItemType = EK36MagicItemType::Bracer;
	this->_magicItemRarity = EK36MagicItemRarity::Legendary;
	this->_rootComponent = CreateDefaultSubobject<USceneComponent>(TEXT("RootComponent"));
	this->_staticMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("StaticMesh"));
	this->_magicItemState = EK36MagicItemState::Spawned;
}
