Compare commits
3 Commits
9ddc4c9ace
...
f72780bb00
Author | SHA1 | Date | |
---|---|---|---|
f72780bb00 | |||
0a486535f1 | |||
be420b98cf |
BIN
Content/Enemy/DA_Enemy.uasset
(Stored with Git LFS)
BIN
Content/Enemy/DA_Enemy.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
Content/Enemy/NS_EnemyDamaged.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Enemy/NS_EnemyDamaged.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Materials/M_Projectile.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Materials/M_Projectile.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Meshes/SM_Projectile.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Meshes/SM_Projectile.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Weapons/DA_Projectile.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Weapons/DA_Projectile.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Weapons/FireWand/BP_FireWandWeapon.uasset
(Stored with Git LFS)
BIN
Content/Weapons/FireWand/BP_FireWandWeapon.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
Content/Weapons/Knife/BP_KnifeWeapon.uasset
(Stored with Git LFS)
BIN
Content/Weapons/Knife/BP_KnifeWeapon.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
Content/Weapons/MagicWand/BP_MagicWandProjectile.uasset
(Stored with Git LFS)
BIN
Content/Weapons/MagicWand/BP_MagicWandProjectile.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
Content/Weapons/MagicWand/BP_MagicWandWeapon.uasset
(Stored with Git LFS)
BIN
Content/Weapons/MagicWand/BP_MagicWandWeapon.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
Content/Weapons/PhieraDerTuphello/BP_PhieraDerTuphelloWeapon.uasset
(Stored with Git LFS)
BIN
Content/Weapons/PhieraDerTuphello/BP_PhieraDerTuphelloWeapon.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
Content/Weapons/TestProjectileDataAsset.uasset
(Stored with Git LFS)
BIN
Content/Weapons/TestProjectileDataAsset.uasset
(Stored with Git LFS)
Binary file not shown.
@ -6,15 +6,14 @@
|
|||||||
#include "EnemyDataAsset.h"
|
#include "EnemyDataAsset.h"
|
||||||
#include "EXPPickup.h"
|
#include "EXPPickup.h"
|
||||||
#include "HealthComponent.h"
|
#include "HealthComponent.h"
|
||||||
#include "MovieSceneTracksComponentTypes.h"
|
|
||||||
#include "ObjectPoolComponent.h"
|
#include "ObjectPoolComponent.h"
|
||||||
#include "ObjectPoolManager.h"
|
#include "ObjectPoolManager.h"
|
||||||
#include "PaperFlipbookComponent.h"
|
|
||||||
#include "VampireAIController.h"
|
#include "VampireAIController.h"
|
||||||
#include "VampireGameMode.h"
|
#include "VampireGameMode.h"
|
||||||
#include "Components/CapsuleComponent.h"
|
#include "Components/CapsuleComponent.h"
|
||||||
#include "Components/SphereComponent.h"
|
#include "Components/SphereComponent.h"
|
||||||
#include "Kismet/GameplayStatics.h"
|
#include "Kismet/GameplayStatics.h"
|
||||||
|
#include "NiagaraFunctionLibrary.h"
|
||||||
|
|
||||||
AEnemyCharacter::AEnemyCharacter(const FObjectInitializer& ObjectInitializer)
|
AEnemyCharacter::AEnemyCharacter(const FObjectInitializer& ObjectInitializer)
|
||||||
{
|
{
|
||||||
@ -54,6 +53,11 @@ void AEnemyCharacter::OnDamaged(FDamageInfo damageInfo)
|
|||||||
{
|
{
|
||||||
UGameplayStatics::PlaySoundAtLocation(GetWorld(), OnDamagedSound, GetActorLocation());
|
UGameplayStatics::PlaySoundAtLocation(GetWorld(), OnDamagedSound, GetActorLocation());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (OnDamagedNiagaraSystem)
|
||||||
|
{
|
||||||
|
UNiagaraFunctionLibrary::SpawnSystemAtLocation(this, OnDamagedNiagaraSystem, GetActorLocation());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AEnemyCharacter::OnDeath(FDamageInfo damageInfo)
|
void AEnemyCharacter::OnDeath(FDamageInfo damageInfo)
|
||||||
@ -80,6 +84,11 @@ void AEnemyCharacter::OnDeath(FDamageInfo damageInfo)
|
|||||||
{
|
{
|
||||||
UGameplayStatics::PlaySoundAtLocation(GetWorld(), OnDeathSound, GetActorLocation());
|
UGameplayStatics::PlaySoundAtLocation(GetWorld(), OnDeathSound, GetActorLocation());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (OnDeathNiagaraSystem)
|
||||||
|
{
|
||||||
|
UNiagaraFunctionLibrary::SpawnSystemAtLocation(this, OnDeathNiagaraSystem, GetActorLocation());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AEnemyCharacter::LoadDataFromDataAsset_Implementation(UEnemyDataAsset* enemyDataAsset)
|
void AEnemyCharacter::LoadDataFromDataAsset_Implementation(UEnemyDataAsset* enemyDataAsset)
|
||||||
@ -91,6 +100,8 @@ void AEnemyCharacter::LoadDataFromDataAsset_Implementation(UEnemyDataAsset* enem
|
|||||||
PickupTemplate = enemyDataAsset->PickupDataAsset;
|
PickupTemplate = enemyDataAsset->PickupDataAsset;
|
||||||
OnDamagedSound = enemyDataAsset->OnDamagedSoundBase;
|
OnDamagedSound = enemyDataAsset->OnDamagedSoundBase;
|
||||||
OnDeathSound = enemyDataAsset->OnDeathSoundBase;
|
OnDeathSound = enemyDataAsset->OnDeathSoundBase;
|
||||||
|
OnDamagedNiagaraSystem = enemyDataAsset->OnDamagedNiagaraSystem;
|
||||||
|
OnDeathNiagaraSystem = enemyDataAsset->OnDeathNiagaraSystem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,6 +112,8 @@ void AEnemyCharacter::ResetData_Implementation()
|
|||||||
PickupTemplate = nullptr;
|
PickupTemplate = nullptr;
|
||||||
OnDamagedSound = nullptr;
|
OnDamagedSound = nullptr;
|
||||||
OnDeathSound = nullptr;
|
OnDeathSound = nullptr;
|
||||||
|
OnDamagedNiagaraSystem = nullptr;
|
||||||
|
OnDeathNiagaraSystem = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
float AEnemyCharacter::GetCapsuleRadius_Implementation()
|
float AEnemyCharacter::GetCapsuleRadius_Implementation()
|
||||||
|
@ -35,13 +35,15 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true"))
|
UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true"))
|
||||||
UBehaviorTree* BehaviorTree = nullptr;
|
TObjectPtr<UBehaviorTree> BehaviorTree = nullptr;
|
||||||
|
|
||||||
UObjectPoolComponent* ObjectPoolComponent = nullptr;
|
UPROPERTY()
|
||||||
|
TObjectPtr<UObjectPoolComponent> ObjectPoolComponent = nullptr;
|
||||||
|
|
||||||
UPickupDataAsset* PickupTemplate = nullptr;
|
UPROPERTY()
|
||||||
|
TObjectPtr<UPickupDataAsset> PickupTemplate = nullptr;
|
||||||
|
|
||||||
TArray<AActor*> Player;
|
TArray<TObjectPtr<AActor>> Player;
|
||||||
|
|
||||||
FTimerHandle DamageTimerHandle;
|
FTimerHandle DamageTimerHandle;
|
||||||
|
|
||||||
|
@ -7,8 +7,8 @@
|
|||||||
#include "Engine/DataAsset.h"
|
#include "Engine/DataAsset.h"
|
||||||
#include "EnemyDataAsset.generated.h"
|
#include "EnemyDataAsset.generated.h"
|
||||||
|
|
||||||
class UPaperFlipbook;
|
|
||||||
class UBehaviorTree;
|
class UBehaviorTree;
|
||||||
|
class UNiagaraSystem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -20,17 +20,23 @@ class VAMPIRES_API UEnemyDataAsset : public UDataAsset
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
UPROPERTY(BlueprintReadWrite, EditAnywhere)
|
UPROPERTY(BlueprintReadWrite, EditAnywhere)
|
||||||
UStaticMesh* StaticMesh;
|
TObjectPtr<UStaticMesh> StaticMesh;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true"))
|
UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true"))
|
||||||
UBehaviorTree* BehaviorTree = nullptr;
|
TObjectPtr<UBehaviorTree> BehaviorTree = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true"))
|
UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true"))
|
||||||
UPickupDataAsset* PickupDataAsset = nullptr;
|
TObjectPtr<UPickupDataAsset> PickupDataAsset = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true"))
|
UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true"))
|
||||||
TObjectPtr<USoundBase> OnDamagedSoundBase = nullptr;
|
TObjectPtr<USoundBase> OnDamagedSoundBase = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true"))
|
UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true"))
|
||||||
TObjectPtr<USoundBase> OnDeathSoundBase = nullptr;
|
TObjectPtr<USoundBase> OnDeathSoundBase = nullptr;
|
||||||
|
|
||||||
|
UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true"))
|
||||||
|
TObjectPtr<UNiagaraSystem> OnDamagedNiagaraSystem;
|
||||||
|
|
||||||
|
UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true"))
|
||||||
|
TObjectPtr<UNiagaraSystem> OnDeathNiagaraSystem;
|
||||||
};
|
};
|
||||||
|
@ -11,7 +11,7 @@ class VAMPIRES_API AObjectPoolManager : public AActor
|
|||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
TArray<AActor*> ObjectPool = TArray<AActor*>();
|
TArray<TObjectPtr<AActor>> ObjectPool = TArray<TObjectPtr<AActor>>();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void InitializeObjectPool(TSubclassOf<AActor> Object, int InitialObjectPoolSize = 400);
|
void InitializeObjectPool(TSubclassOf<AActor> Object, int InitialObjectPoolSize = 400);
|
||||||
|
@ -22,22 +22,22 @@ public:
|
|||||||
int PickupValue = 1;
|
int PickupValue = 1;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||||
USphereComponent* InnerSphereComponent = nullptr;
|
TObjectPtr<USphereComponent> InnerSphereComponent = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||||
USphereComponent* OuterSphereComponent = nullptr;
|
TObjectPtr<USphereComponent> OuterSphereComponent = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere)
|
UPROPERTY(EditAnywhere)
|
||||||
UStaticMeshComponent* StaticMeshComponent = nullptr;
|
TObjectPtr<UStaticMeshComponent> StaticMeshComponent = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly)
|
||||||
USoundBase* PickupSoundBase = nullptr;
|
TObjectPtr<USoundBase> PickupSoundBase = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Timeline")
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Timeline")
|
||||||
TObjectPtr<UTimelineComponent> TimelineComponent = nullptr;
|
TObjectPtr<UTimelineComponent> TimelineComponent = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Timeline")
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Timeline")
|
||||||
UCurveFloat* CurveFloat;
|
TObjectPtr<UCurveFloat> CurveFloat;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
FOnTimelineFloat onTimelineCallback;
|
FOnTimelineFloat onTimelineCallback;
|
||||||
|
@ -26,13 +26,13 @@ class VAMPIRES_API APlayerCharacter : public AVampireCharacter
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
||||||
UEXPComponent* EXPComponent;
|
TObjectPtr<UEXPComponent> EXPComponent;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
||||||
UGoldComponent* GoldComponent;
|
TObjectPtr<UGoldComponent> GoldComponent;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere)
|
UPROPERTY(EditAnywhere)
|
||||||
UWidgetComponent* HealthBarWidgetComponent;
|
TObjectPtr<UWidgetComponent> HealthBarWidgetComponent;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
|
||||||
TObjectPtr<UTimelineComponent> CameraShakeTimelineComponent = nullptr;
|
TObjectPtr<UTimelineComponent> CameraShakeTimelineComponent = nullptr;
|
||||||
|
@ -18,10 +18,10 @@ class VAMPIRES_API AProjectile : public AActor, public IProjectilable
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||||
USphereComponent* SphereComponent = nullptr;
|
TObjectPtr<USphereComponent> SphereComponent = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||||
UProjectileMovementComponent* ProjectileMovement = nullptr;
|
TObjectPtr<UProjectileMovementComponent> ProjectileMovement = nullptr;
|
||||||
|
|
||||||
FVector TargetDirection = FVector::ZeroVector;
|
FVector TargetDirection = FVector::ZeroVector;
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ public:
|
|||||||
float ProjectileSpeed = 500.0f;
|
float ProjectileSpeed = 500.0f;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
||||||
UStaticMeshComponent* StaticMeshComponent = nullptr;
|
TObjectPtr<UStaticMeshComponent> StaticMeshComponent = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
||||||
int RemainingDamagableEnemies = 1;
|
int RemainingDamagableEnemies = 1;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
AVampireAIController::AVampireAIController(const FObjectInitializer& object_initializer) : Super(
|
AVampireAIController::AVampireAIController(const FObjectInitializer& object_initializer) : Super(
|
||||||
object_initializer.SetDefaultSubobjectClass<UCrowdFollowingComponent>(TEXT("Path Following Component")))
|
object_initializer.SetDefaultSubobjectClass<UCrowdFollowingComponent>(TEXT("Path Following Component")))
|
||||||
{
|
{
|
||||||
Blackboard = CreateDefaultSubobject<UBlackboardComponent>(TEXT("Blackboard"));
|
DefaultBlackboard = CreateDefaultSubobject<UBlackboardComponent>(TEXT("Blackboard"));
|
||||||
BehaviorTree = CreateDefaultSubobject<UBehaviorTreeComponent>(TEXT("Behavior Tree"));
|
BehaviorTree = CreateDefaultSubobject<UBehaviorTreeComponent>(TEXT("Behavior Tree"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ void AVampireAIController::Tick(float DeltaTime)
|
|||||||
|
|
||||||
if (PlayerCharacter)
|
if (PlayerCharacter)
|
||||||
{
|
{
|
||||||
Blackboard->SetValueAsVector("PlayerLocation", PlayerCharacter->GetActorLocation());
|
DefaultBlackboard->SetValueAsVector("PlayerLocation", PlayerCharacter->GetActorLocation());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,13 +56,13 @@ void AVampireAIController::OnPossess(APawn* InPawn)
|
|||||||
|
|
||||||
if (UBehaviorTree* bt = EnemyCharacter->GetBehaviorTree())
|
if (UBehaviorTree* bt = EnemyCharacter->GetBehaviorTree())
|
||||||
{
|
{
|
||||||
Blackboard->InitializeBlackboard(*bt->BlackboardAsset);
|
DefaultBlackboard->InitializeBlackboard(*bt->BlackboardAsset);
|
||||||
BehaviorTree->StartTree(*bt);
|
BehaviorTree->StartTree(*bt);
|
||||||
Blackboard->SetValueAsObject("SelfActor", EnemyCharacter);
|
DefaultBlackboard->SetValueAsObject("SelfActor", EnemyCharacter);
|
||||||
|
|
||||||
if (PlayerCharacter)
|
if (PlayerCharacter)
|
||||||
{
|
{
|
||||||
Blackboard->SetValueAsObject("Player", PlayerCharacter);
|
DefaultBlackboard->SetValueAsObject("Player", PlayerCharacter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,13 +18,17 @@ class VAMPIRES_API AVampireAIController : public AAIController
|
|||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
UBlackboardComponent* Blackboard;
|
UPROPERTY()
|
||||||
|
TObjectPtr<UBlackboardComponent> DefaultBlackboard;
|
||||||
|
|
||||||
UBehaviorTreeComponent* BehaviorTree;
|
UPROPERTY()
|
||||||
|
TObjectPtr<UBehaviorTreeComponent> BehaviorTree;
|
||||||
|
|
||||||
ACharacter* PlayerCharacter;
|
UPROPERTY()
|
||||||
|
TObjectPtr<ACharacter> PlayerCharacter;
|
||||||
|
|
||||||
AEnemyCharacter* EnemyCharacter;
|
UPROPERTY()
|
||||||
|
TObjectPtr<AEnemyCharacter> EnemyCharacter;
|
||||||
|
|
||||||
FTimerHandle PawnMoveToTimerHandle;
|
FTimerHandle PawnMoveToTimerHandle;
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
#include "GameFramework/Character.h"
|
#include "GameFramework/Character.h"
|
||||||
#include "VampireCharacter.generated.h"
|
#include "VampireCharacter.generated.h"
|
||||||
|
|
||||||
|
class UNiagaraSystem;
|
||||||
class AWeapon;
|
class AWeapon;
|
||||||
class UWeaponInventoryComponent;
|
class UWeaponInventoryComponent;
|
||||||
class UInputAction;
|
class UInputAction;
|
||||||
@ -20,7 +21,7 @@ class VAMPIRES_API AVampireCharacter : public ACharacter, public IInputable
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
UPROPERTY(BlueprintReadWrite, EditAnywhere)
|
UPROPERTY(BlueprintReadWrite, EditAnywhere)
|
||||||
UStaticMeshComponent* StaticMeshComponent;
|
TObjectPtr<UStaticMeshComponent> StaticMeshComponent;
|
||||||
|
|
||||||
FVector2D PreviousMovementDirection = FVector2d(1.0f, 0.0f);
|
FVector2D PreviousMovementDirection = FVector2d(1.0f, 0.0f);
|
||||||
|
|
||||||
@ -29,19 +30,25 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
UPROPERTY(VisibleAnywhere)
|
UPROPERTY(VisibleAnywhere)
|
||||||
UHealthComponent* HealthComponent;
|
TObjectPtr<UHealthComponent> HealthComponent;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
||||||
TObjectPtr<UInputMappingContext> InputMappingContext;
|
TObjectPtr<UInputMappingContext> InputMappingContext;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
||||||
UWeaponInventoryComponent* WeaponInventoryComponent;
|
TObjectPtr<UWeaponInventoryComponent> WeaponInventoryComponent;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
||||||
USoundBase* OnDamagedSound;
|
TObjectPtr<USoundBase> OnDamagedSound;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
||||||
USoundBase* OnDeathSound;
|
TObjectPtr<USoundBase> OnDeathSound;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
||||||
|
TObjectPtr<UNiagaraSystem> OnDamagedNiagaraSystem;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
||||||
|
TObjectPtr<UNiagaraSystem> OnDeathNiagaraSystem;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Sets default values for this character's properties
|
// Sets default values for this character's properties
|
||||||
|
@ -39,20 +39,26 @@ public:
|
|||||||
TArray<TObjectPtr<UEnemyDataAsset>> EnemyDataAssets;
|
TArray<TObjectPtr<UEnemyDataAsset>> EnemyDataAssets;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
UPROPERTY()
|
||||||
TObjectPtr<APlayerCharacter> PlayerCharacter;
|
TObjectPtr<APlayerCharacter> PlayerCharacter;
|
||||||
|
|
||||||
|
UPROPERTY()
|
||||||
TObjectPtr<AVampirePlayerController> PlayerController;
|
TObjectPtr<AVampirePlayerController> PlayerController;
|
||||||
|
|
||||||
FTimerHandle SpawnEnemyTimerDelegate;
|
FTimerHandle SpawnEnemyTimerDelegate;
|
||||||
|
|
||||||
int EnemyDeathCount = 0;
|
int EnemyDeathCount = 0;
|
||||||
|
|
||||||
|
UPROPERTY()
|
||||||
TObjectPtr<AObjectPoolManager> EnemyObjectPoolManager = nullptr;
|
TObjectPtr<AObjectPoolManager> EnemyObjectPoolManager = nullptr;
|
||||||
|
|
||||||
|
UPROPERTY()
|
||||||
TObjectPtr<AObjectPoolManager> ProjectileObjectPoolManager = nullptr;
|
TObjectPtr<AObjectPoolManager> ProjectileObjectPoolManager = nullptr;
|
||||||
|
|
||||||
|
UPROPERTY()
|
||||||
TObjectPtr<AObjectPoolManager> PickupObjectPoolManager = nullptr;
|
TObjectPtr<AObjectPoolManager> PickupObjectPoolManager = nullptr;
|
||||||
|
|
||||||
|
UPROPERTY()
|
||||||
TArray<TObjectPtr<UEnemyDataAsset>> SpawnableEnemyDataAssets;
|
TArray<TObjectPtr<UEnemyDataAsset>> SpawnableEnemyDataAssets;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -33,17 +33,20 @@ public:
|
|||||||
|
|
||||||
// Inputs
|
// Inputs
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||||
UInputAction* MovementAction;
|
TObjectPtr<UInputAction> MovementAction;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||||
UInputAction* PauseAction;
|
TObjectPtr<UInputAction> PauseAction;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
UPROPERTY()
|
||||||
TObjectPtr<UHUDWidget> currentPlayerHUD = nullptr;
|
TObjectPtr<UHUDWidget> currentPlayerHUD = nullptr;
|
||||||
|
|
||||||
|
UPROPERTY()
|
||||||
TObjectPtr<UPauseWidget> currentPauseUI = nullptr;
|
TObjectPtr<UPauseWidget> currentPauseUI = nullptr;
|
||||||
|
|
||||||
|
UPROPERTY()
|
||||||
TObjectPtr<ULevelUpWidget> currentLevelUpUI = nullptr;
|
TObjectPtr<ULevelUpWidget> currentLevelUpUI = nullptr;
|
||||||
|
|
||||||
FTimerHandle pawnLifeTimeHandle;
|
FTimerHandle pawnLifeTimeHandle;
|
||||||
|
@ -27,7 +27,7 @@ public:
|
|||||||
TObjectPtr<UTexture2D> Icon;
|
TObjectPtr<UTexture2D> Icon;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, Category = "Weapon Properties")
|
UPROPERTY(EditDefaultsOnly, Category = "Weapon Properties")
|
||||||
USoundBase* WeaponActivatedSoundBase = nullptr;
|
TObjectPtr<USoundBase> WeaponActivatedSoundBase = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, Category = "Weapon Properties")
|
UPROPERTY(EditDefaultsOnly, Category = "Weapon Properties")
|
||||||
TObjectPtr<UPaperSprite> WeaponSprite = nullptr;
|
TObjectPtr<UPaperSprite> WeaponSprite = nullptr;
|
||||||
@ -51,9 +51,9 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||||
UBoxComponent* BoxComponent = nullptr;
|
TObjectPtr<UBoxComponent> BoxComponent = nullptr;
|
||||||
|
|
||||||
TArray<AActor*> OverlappedEnemies = TArray<AActor*>();
|
TArray<TObjectPtr<AActor>> OverlappedEnemies = TArray<TObjectPtr<AActor>>();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
FTimerHandle WeaponTimerHandle;
|
FTimerHandle WeaponTimerHandle;
|
||||||
|
@ -24,7 +24,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
UPROPERTY()
|
UPROPERTY()
|
||||||
TArray<AWeapon*> inventory;
|
TArray<TObjectPtr<AWeapon>> inventory;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Sets default values for this component's properties
|
// Sets default values for this component's properties
|
||||||
|
@ -14,7 +14,8 @@ struct FOverlappedEnemy
|
|||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
AEnemyCharacter* OverlappedEnemyCharacter;
|
UPROPERTY()
|
||||||
|
TObjectPtr<AEnemyCharacter> OverlappedEnemyCharacter;
|
||||||
|
|
||||||
FTimerHandle OverlappedTimerHandle;
|
FTimerHandle OverlappedTimerHandle;
|
||||||
};
|
};
|
||||||
@ -28,7 +29,7 @@ class VAMPIRES_API AGarlicWeapon : public AWeapon
|
|||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
public:
|
public:
|
||||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess = "true"))
|
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess = "true"))
|
||||||
USphereComponent* SphereComponent;
|
TObjectPtr<USphereComponent> SphereComponent;
|
||||||
|
|
||||||
TArray<FOverlappedEnemy> GarlicOverlappedEnemies;
|
TArray<FOverlappedEnemy> GarlicOverlappedEnemies;
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ class VAMPIRES_API APentagramWeapon : public AWeapon
|
|||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
private:
|
private:
|
||||||
TArray<APickup*> OverlappedPickups = TArray<APickup*>();
|
TArray<TObjectPtr<APickup>> OverlappedPickups = TArray<TObjectPtr<APickup>>();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
APentagramWeapon();
|
APentagramWeapon();
|
||||||
|
@ -15,10 +15,10 @@ class VAMPIRES_API ASwarmAgent : public AActor
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||||
USphereComponent* SphereComponent = nullptr;
|
TObjectPtr<USphereComponent> SphereComponent = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
||||||
UStaticMeshComponent* StaticMeshComponent = nullptr;
|
TObjectPtr<UStaticMeshComponent> StaticMeshComponent = nullptr;
|
||||||
|
|
||||||
// Sets default values for this actor's properties
|
// Sets default values for this actor's properties
|
||||||
ASwarmAgent();
|
ASwarmAgent();
|
||||||
|
@ -33,7 +33,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
FOnTimelineFloat onTimelineCallback;
|
FOnTimelineFloat onTimelineCallback;
|
||||||
|
|
||||||
TArray<ASwarmAgent*> SwarmActors;
|
TArray<TObjectPtr<ASwarmAgent>> SwarmActors;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Sets default values for this actor's properties
|
// Sets default values for this actor's properties
|
||||||
|
@ -8,7 +8,7 @@ public class vampires : ModuleRules
|
|||||||
{
|
{
|
||||||
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
|
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||||
|
|
||||||
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput", "Paper2D" });
|
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput", "Paper2D", "Niagara" });
|
||||||
|
|
||||||
PrivateDependencyModuleNames.AddRange(new string[] { });
|
PrivateDependencyModuleNames.AddRange(new string[] { });
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user