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 "Components/SphereComponent.h"
|
||||||
#include "Kismet/GameplayStatics.h"
|
#include "Kismet/GameplayStatics.h"
|
||||||
#include "NiagaraFunctionLibrary.h"
|
#include "NiagaraFunctionLibrary.h"
|
||||||
|
#include "GameFramework/CharacterMovementComponent.h"
|
||||||
|
|
||||||
AEnemyCharacter::AEnemyCharacter(const FObjectInitializer& ObjectInitializer)
|
AEnemyCharacter::AEnemyCharacter(const FObjectInitializer& ObjectInitializer)
|
||||||
{
|
{
|
||||||
@ -115,6 +116,8 @@ void AEnemyCharacter::LoadDataFromDataAsset_Implementation(UEnemyDataAsset* Enem
|
|||||||
OnDeathSound = EnemyDataAsset->OnDeathSoundBase;
|
OnDeathSound = EnemyDataAsset->OnDeathSoundBase;
|
||||||
OnDamagedNiagaraSystem = EnemyDataAsset->OnDamagedNiagaraSystem;
|
OnDamagedNiagaraSystem = EnemyDataAsset->OnDamagedNiagaraSystem;
|
||||||
OnDeathNiagaraSystem = EnemyDataAsset->OnDeathNiagaraSystem;
|
OnDeathNiagaraSystem = EnemyDataAsset->OnDeathNiagaraSystem;
|
||||||
|
HealthComponent->SetMaxHealth(EnemyDataAsset->MaxHealth);
|
||||||
|
GetCharacterMovement()->MaxWalkSpeed = EnemyDataAsset->MovementSpeed;
|
||||||
|
|
||||||
PickupArray.Add(EnemyDataAsset->CommonPickupDataAsset);
|
PickupArray.Add(EnemyDataAsset->CommonPickupDataAsset);
|
||||||
PickupArray.Add(EnemyDataAsset->UncommonPickupDataAsset);
|
PickupArray.Add(EnemyDataAsset->UncommonPickupDataAsset);
|
||||||
@ -131,6 +134,8 @@ void AEnemyCharacter::ResetData_Implementation()
|
|||||||
OnDeathSound = nullptr;
|
OnDeathSound = nullptr;
|
||||||
OnDamagedNiagaraSystem = nullptr;
|
OnDamagedNiagaraSystem = nullptr;
|
||||||
OnDeathNiagaraSystem = nullptr;
|
OnDeathNiagaraSystem = nullptr;
|
||||||
|
HealthComponent->SetMaxHealth(100.0f);
|
||||||
|
GetCharacterMovement()->MaxWalkSpeed = 300.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
float AEnemyCharacter::GetCapsuleRadius_Implementation()
|
float AEnemyCharacter::GetCapsuleRadius_Implementation()
|
||||||
|
@ -19,30 +19,36 @@ class VAMPIRES_API UEnemyDataAsset : public UDataAsset
|
|||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
public:
|
public:
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly, Category = "Mesh")
|
||||||
TObjectPtr<UStaticMesh> StaticMesh;
|
TObjectPtr<UStaticMesh> StaticMesh;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly, Category = "AI")
|
||||||
TObjectPtr<UBehaviorTree> BehaviorTree = nullptr;
|
TObjectPtr<UBehaviorTree> BehaviorTree = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly, Category = "Pickups")
|
||||||
TObjectPtr<UPickupDataAsset> CommonPickupDataAsset = nullptr;
|
TObjectPtr<UPickupDataAsset> CommonPickupDataAsset = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly, Category = "Pickups")
|
||||||
TObjectPtr<UPickupDataAsset> UncommonPickupDataAsset = nullptr;
|
TObjectPtr<UPickupDataAsset> UncommonPickupDataAsset = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly, Category = "Pickups")
|
||||||
TObjectPtr<UPickupDataAsset> RarePickupDataAsset = nullptr;
|
TObjectPtr<UPickupDataAsset> RarePickupDataAsset = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly, Category = "Sounds")
|
||||||
TObjectPtr<USoundBase> OnDamagedSoundBase = nullptr;
|
TObjectPtr<USoundBase> OnDamagedSoundBase = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly, Category = "Sounds")
|
||||||
TObjectPtr<USoundBase> OnDeathSoundBase = nullptr;
|
TObjectPtr<USoundBase> OnDeathSoundBase = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly, Category = "Particles")
|
||||||
TObjectPtr<UNiagaraSystem> OnDamagedNiagaraSystem;
|
TObjectPtr<UNiagaraSystem> OnDamagedNiagaraSystem;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly, Category = "Particles")
|
||||||
TObjectPtr<UNiagaraSystem> OnDeathNiagaraSystem;
|
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