Add support for loading different health and speed values from enemy data asset
This commit is contained in:
parent
f49fb3e164
commit
02e2318761
@ -14,6 +14,7 @@
|
||||
#include "Components/SphereComponent.h"
|
||||
#include "Kismet/GameplayStatics.h"
|
||||
#include "NiagaraFunctionLibrary.h"
|
||||
#include "GameFramework/CharacterMovementComponent.h"
|
||||
|
||||
AEnemyCharacter::AEnemyCharacter(const FObjectInitializer& ObjectInitializer)
|
||||
{
|
||||
@ -115,6 +116,8 @@ void AEnemyCharacter::LoadDataFromDataAsset_Implementation(UEnemyDataAsset* Enem
|
||||
OnDeathSound = EnemyDataAsset->OnDeathSoundBase;
|
||||
OnDamagedNiagaraSystem = EnemyDataAsset->OnDamagedNiagaraSystem;
|
||||
OnDeathNiagaraSystem = EnemyDataAsset->OnDeathNiagaraSystem;
|
||||
HealthComponent->SetMaxHealth(EnemyDataAsset->MaxHealth);
|
||||
GetCharacterMovement()->MaxWalkSpeed = EnemyDataAsset->MovementSpeed;
|
||||
|
||||
PickupArray.Add(EnemyDataAsset->CommonPickupDataAsset);
|
||||
PickupArray.Add(EnemyDataAsset->UncommonPickupDataAsset);
|
||||
@ -131,6 +134,8 @@ void AEnemyCharacter::ResetData_Implementation()
|
||||
OnDeathSound = nullptr;
|
||||
OnDamagedNiagaraSystem = nullptr;
|
||||
OnDeathNiagaraSystem = nullptr;
|
||||
HealthComponent->SetMaxHealth(100.0f);
|
||||
GetCharacterMovement()->MaxWalkSpeed = 300.0f;
|
||||
}
|
||||
|
||||
float AEnemyCharacter::GetCapsuleRadius_Implementation()
|
||||
|
@ -19,30 +19,36 @@ class VAMPIRES_API UEnemyDataAsset : public UDataAsset
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UPROPERTY(EditDefaultsOnly)
|
||||
UPROPERTY(EditDefaultsOnly, Category = "Mesh")
|
||||
TObjectPtr<UStaticMesh> StaticMesh;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly)
|
||||
UPROPERTY(EditDefaultsOnly, Category = "AI")
|
||||
TObjectPtr<UBehaviorTree> BehaviorTree = nullptr;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly)
|
||||
UPROPERTY(EditDefaultsOnly, Category = "Pickups")
|
||||
TObjectPtr<UPickupDataAsset> CommonPickupDataAsset = nullptr;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly)
|
||||
UPROPERTY(EditDefaultsOnly, Category = "Pickups")
|
||||
TObjectPtr<UPickupDataAsset> UncommonPickupDataAsset = nullptr;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly)
|
||||
UPROPERTY(EditDefaultsOnly, Category = "Pickups")
|
||||
TObjectPtr<UPickupDataAsset> RarePickupDataAsset = nullptr;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly)
|
||||
UPROPERTY(EditDefaultsOnly, Category = "Sounds")
|
||||
TObjectPtr<USoundBase> OnDamagedSoundBase = nullptr;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly)
|
||||
UPROPERTY(EditDefaultsOnly, Category = "Sounds")
|
||||
TObjectPtr<USoundBase> OnDeathSoundBase = nullptr;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly)
|
||||
UPROPERTY(EditDefaultsOnly, Category = "Particles")
|
||||
TObjectPtr<UNiagaraSystem> OnDamagedNiagaraSystem;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly)
|
||||
UPROPERTY(EditDefaultsOnly, Category = "Particles")
|
||||
TObjectPtr<UNiagaraSystem> OnDeathNiagaraSystem;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly, Category = "Properties")
|
||||
float MaxHealth = 100.0f;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly, Category = "Properties")
|
||||
float MovementSpeed = 300.0f;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user