Files
FireKrackers/Source/FireworkDuels/BuildingBlock.cpp

35 lines
869 B
C++

// Fill out your copyright notice in the Description page of Project Settings.
#include "BuildingBlock.h"
// Sets default values
ABuildingBlock::ABuildingBlock()
{
// 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;
InitialHealth = Health;
StaticMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("StaticMesh"));
}
void ABuildingBlock::DepleteHealth(float Amount) {
Health = Health - Amount;
if (Health <= 0.0f) {
UE_LOG(LogTemp, Warning, TEXT("Health below 0 - DestroyingBlock"));
DestroyBlock();
}
else {
uint8 DestructionLevel = 0;
if (Health <= InitialHealth * 0.66f) {
if (Health <= InitialHealth * 0.33f) {
DestructionLevel = 2;
}
else {
DestructionLevel = 1;
}
}
UpdateDestructionLevel(DestructionLevel);
}
}