// Fill out your copyright notice in the Description page of Project Settings.


#include "WeaponBase.h"

// Sets default values
AWeaponBase::AWeaponBase()
{
 	// Set this actor to call Tick() every frame.  You can turn this off to improve performance if you don't need it.
	PrimaryActorTick.bCanEverTick = true;
	bReplicates = true;
	WeaponMesh = CreateDefaultSubobject<USkeletalMeshComponent>(TEXT("Weapon Component"));

}

// Called when the game starts or when spawned
void AWeaponBase::BeginPlay()
{
	Super::BeginPlay();
	// AMMO_REPACK.AddDynamic(this, &AWeaponBase::MagRepacking);
	for (int i = 0; i < RESERVE_MAG_COUNT; i++)
	{
		// AMagazineActor* mag = new AMagazineActor();
		// mag->SetAmmoValues(MAX_AMMO_COUNT);
		// ActiveMags.Add(mag);
	}
	
}

// Called every frame
void AWeaponBase::Tick(float DeltaTime)
{
	Super::Tick(DeltaTime);

}

void AWeaponBase::MagRepacking()
{
	RESERVE_AMMO_POOL_DEFAULT -= 1;
	if (RESERVE_AMMO_POOL_DEFAULT <= 0)
	{
		RESERVE_AMMO_POOL_DEFAULT = 0;
		// for (AMagazineActor* mag : ActiveMags)
		// {
		// 	mag->hasReserveAmmo = false;
		// }
	}
}
