From ee0a5376210df94ea82a187aab068d5211d9e021 Mon Sep 17 00:00:00 2001 From: baz <bazzadobs@live.co.uk> Date: Thu, 14 Nov 2024 18:39:20 +0000 Subject: [PATCH] Update remaining includes --- Source/vampires/EXPPickup.cpp | 1 + Source/vampires/EnemyCharacter.cpp | 4 ++++ Source/vampires/EnemyCharacter.h | 6 +++--- Source/vampires/GoldPickup.cpp | 1 + Source/vampires/ObjectPoolManager.cpp | 1 - Source/vampires/Pickup.cpp | 7 ++++--- Source/vampires/Pickup.h | 5 +++-- Source/vampires/PlayerCharacter.cpp | 10 ++++++++-- Source/vampires/PlayerCharacter.h | 14 +++++++------- Source/vampires/VampireAIController.cpp | 5 +++++ Source/vampires/VampireAIController.h | 9 ++++----- Source/vampires/VampireCharacter.cpp | 3 +++ Source/vampires/VampireCharacter.h | 5 +++-- Source/vampires/VampireGameMode.cpp | 4 ++++ Source/vampires/VampireGameMode.h | 8 ++++---- Source/vampires/WeaponInventoryComponent.cpp | 1 + Source/vampires/WeaponInventoryComponent.h | 3 ++- UpgradeLog.htm | Bin 0 -> 112438 bytes 18 files changed, 57 insertions(+), 30 deletions(-) create mode 100644 UpgradeLog.htm diff --git a/Source/vampires/EXPPickup.cpp b/Source/vampires/EXPPickup.cpp index 45e6397..e776bc0 100644 --- a/Source/vampires/EXPPickup.cpp +++ b/Source/vampires/EXPPickup.cpp @@ -3,6 +3,7 @@ #include "EXPPickup.h" +#include "EXPComponent.h" #include "PlayerCharacter.h" void AEXPPickup::BeginPlay() diff --git a/Source/vampires/EnemyCharacter.cpp b/Source/vampires/EnemyCharacter.cpp index 9bf6088..bbf0981 100644 --- a/Source/vampires/EnemyCharacter.cpp +++ b/Source/vampires/EnemyCharacter.cpp @@ -3,6 +3,10 @@ #include "EnemyCharacter.h" +#include "EXPPickup.h" +#include "HealthComponent.h" +#include "ObjectPoolComponent.h" +#include "ObjectPoolManager.h" #include "VampireGameMode.h" #include "Kismet/GameplayStatics.h" diff --git a/Source/vampires/EnemyCharacter.h b/Source/vampires/EnemyCharacter.h index b26a27c..55b72ab 100644 --- a/Source/vampires/EnemyCharacter.h +++ b/Source/vampires/EnemyCharacter.h @@ -3,12 +3,12 @@ #pragma once #include "CoreMinimal.h" -#include "EXPPickup.h" -#include "ObjectPoolComponent.h" #include "VampireCharacter.h" -#include "BehaviorTree/BehaviorTree.h" #include "EnemyCharacter.generated.h" +class UObjectPoolComponent; +class UBehaviorTree; +class AEXPPickup; /** * */ diff --git a/Source/vampires/GoldPickup.cpp b/Source/vampires/GoldPickup.cpp index a51bef5..ec1eaf1 100644 --- a/Source/vampires/GoldPickup.cpp +++ b/Source/vampires/GoldPickup.cpp @@ -3,6 +3,7 @@ #include "GoldPickup.h" +#include "GoldComponent.h" #include "PlayerCharacter.h" class APlayerCharacter; diff --git a/Source/vampires/ObjectPoolManager.cpp b/Source/vampires/ObjectPoolManager.cpp index 2dc0da0..b8113db 100644 --- a/Source/vampires/ObjectPoolManager.cpp +++ b/Source/vampires/ObjectPoolManager.cpp @@ -2,7 +2,6 @@ #include "ObjectPoolManager.h" - #include "ObjectPoolComponent.h" // Called when the game starts or when spawned diff --git a/Source/vampires/Pickup.cpp b/Source/vampires/Pickup.cpp index 328d457..37fcf50 100644 --- a/Source/vampires/Pickup.cpp +++ b/Source/vampires/Pickup.cpp @@ -4,8 +4,9 @@ #include "Pickup.h" #include "PlayerCharacter.h" +#include "Components/SphereComponent.h" #include "Kismet/GameplayStatics.h" -#include "Kismet/KismetMathLibrary.h" +#include "PaperSpriteComponent.h" // Sets default values APickup::APickup() @@ -19,7 +20,7 @@ APickup::APickup() SphereComponent->SetSphereRadius(25.0f); SpriteComponent = CreateDefaultSubobject<UPaperSpriteComponent>(TEXT("Sprite Component")); - SpriteComponent->SetRelativeRotation(FRotator(0.0f, 90.0f,-90.0f)); + SpriteComponent->SetRelativeRotation(FRotator(0.0f, 90.0f, -90.0f)); SpriteComponent->SetRelativeScale3D(FVector(.5f, .5f, .5f)); SpriteComponent->SetupAttachment(RootComponent); } @@ -53,7 +54,7 @@ void APickup::OnBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* O const FHitResult& SweepResult) { if (APlayerCharacter* PlayerCharacter = Cast<APlayerCharacter>(OtherActor)) - { + { // TODO: Add extra functionality if (PickupSoundBase) { diff --git a/Source/vampires/Pickup.h b/Source/vampires/Pickup.h index 97dfffe..68c86b8 100644 --- a/Source/vampires/Pickup.h +++ b/Source/vampires/Pickup.h @@ -3,11 +3,12 @@ #pragma once #include "CoreMinimal.h" -#include "Components/SphereComponent.h" #include "GameFramework/Actor.h" -#include "PaperSpriteComponent.h" #include "Pickup.generated.h" +class USphereComponent; +class UPaperSpriteComponent; + UCLASS() class VAMPIRES_API APickup : public AActor { diff --git a/Source/vampires/PlayerCharacter.cpp b/Source/vampires/PlayerCharacter.cpp index 4cff263..c81daa7 100644 --- a/Source/vampires/PlayerCharacter.cpp +++ b/Source/vampires/PlayerCharacter.cpp @@ -6,7 +6,13 @@ #include "VampirePlayerController.h" #include "EnhancedInputComponent.h" #include "EnhancedInputSubsystems.h" +#include "EXPComponent.h" +#include "GoldComponent.h" #include "InputMappingContext.h" +#include "WeaponInventoryComponent.h" +#include "Camera/CameraComponent.h" +#include "Components/WidgetComponent.h" +#include "GameFramework/SpringArmComponent.h" APlayerCharacter::APlayerCharacter() { @@ -39,9 +45,9 @@ APlayerCharacter::APlayerCharacter() // Create HealthBar Widget Component HealthBarWidgetComponent = CreateDefaultSubobject<UWidgetComponent>(TEXT("Healthbar")); HealthBarWidgetComponent->SetupAttachment(RootComponent); - HealthBarWidgetComponent->SetRelativeLocation(FVector(0,0,90)); + HealthBarWidgetComponent->SetRelativeLocation(FVector(0, 0, 90)); HealthBarWidgetComponent->SetTwoSided(true); - HealthBarWidgetComponent->SetBackgroundColor(FLinearColor(1,1,1,0)); + HealthBarWidgetComponent->SetBackgroundColor(FLinearColor(1, 1, 1, 0)); } void APlayerCharacter::BeginPlay() diff --git a/Source/vampires/PlayerCharacter.h b/Source/vampires/PlayerCharacter.h index c595568..ea7758c 100644 --- a/Source/vampires/PlayerCharacter.h +++ b/Source/vampires/PlayerCharacter.h @@ -3,16 +3,16 @@ #pragma once #include "CoreMinimal.h" -#include "EXPComponent.h" -#include "GoldComponent.h" #include "VampireCharacter.h" -#include "WeaponInventoryComponent.h" -#include "Camera/CameraComponent.h" -#include "GameFramework/SpringArmComponent.h" -#include "Blueprint/UserWidget.h" -#include "Components/WidgetComponent.h" #include "PlayerCharacter.generated.h" +struct FInputActionInstance; +class UWidgetComponent; +class UWeaponInventoryComponent; +class UGoldComponent; +class UEXPComponent; +class UCameraComponent; +class USpringArmComponent; class UInputMappingContext; class UInputAction; diff --git a/Source/vampires/VampireAIController.cpp b/Source/vampires/VampireAIController.cpp index 516ae74..6e9ef60 100644 --- a/Source/vampires/VampireAIController.cpp +++ b/Source/vampires/VampireAIController.cpp @@ -3,6 +3,11 @@ #include "VampireAIController.h" +#include "EnemyCharacter.h" +#include "HealthComponent.h" +#include "VampireCharacter.h" +#include "BehaviorTree/BehaviorTree.h" +#include "BehaviorTree/BehaviorTreeComponent.h" #include "BehaviorTree/BlackboardComponent.h" #include "Kismet/GameplayStatics.h" #include "Navigation/CrowdFollowingComponent.h" diff --git a/Source/vampires/VampireAIController.h b/Source/vampires/VampireAIController.h index dd34516..80c8327 100644 --- a/Source/vampires/VampireAIController.h +++ b/Source/vampires/VampireAIController.h @@ -4,13 +4,12 @@ #include "CoreMinimal.h" #include "AIController.h" -#include "DetourCrowdAIController.h" -#include "EnemyCharacter.h" -#include "HealthComponent.h" -#include "PlayerCharacter.h" -#include "BehaviorTree/BehaviorTreeComponent.h" #include "VampireAIController.generated.h" +class AEnemyCharacter; +class APlayerCharacter; +class UBehaviorTreeComponent; +class UBlackboardComponent; /** * */ diff --git a/Source/vampires/VampireCharacter.cpp b/Source/vampires/VampireCharacter.cpp index 5c411ee..01815c3 100644 --- a/Source/vampires/VampireCharacter.cpp +++ b/Source/vampires/VampireCharacter.cpp @@ -3,6 +3,9 @@ #include "VampireCharacter.h" +#include "HealthComponent.h" +#include "PaperFlipbookComponent.h" + // Sets default values AVampireCharacter::AVampireCharacter() { diff --git a/Source/vampires/VampireCharacter.h b/Source/vampires/VampireCharacter.h index eec94a1..dc764f3 100644 --- a/Source/vampires/VampireCharacter.h +++ b/Source/vampires/VampireCharacter.h @@ -4,10 +4,11 @@ #include "CoreMinimal.h" #include "GameFramework/Character.h" -#include "HealthComponent.h" -#include "PaperFlipbookComponent.h" #include "VampireCharacter.generated.h" +class UHealthComponent; +class UPaperFlipbookComponent; + UCLASS() class VAMPIRES_API AVampireCharacter : public ACharacter { diff --git a/Source/vampires/VampireGameMode.cpp b/Source/vampires/VampireGameMode.cpp index 02a8501..443c660 100644 --- a/Source/vampires/VampireGameMode.cpp +++ b/Source/vampires/VampireGameMode.cpp @@ -3,6 +3,10 @@ #include "VampireGameMode.h" +#include "EnemyCharacter.h" +#include "ObjectPoolManager.h" +#include "PlayerCharacter.h" +#include "VampirePlayerController.h" #include "Components/CapsuleComponent.h" #include "Kismet/GameplayStatics.h" diff --git a/Source/vampires/VampireGameMode.h b/Source/vampires/VampireGameMode.h index def66c6..a1a3289 100644 --- a/Source/vampires/VampireGameMode.h +++ b/Source/vampires/VampireGameMode.h @@ -3,13 +3,13 @@ #pragma once #include "CoreMinimal.h" -#include "EnemyCharacter.h" -#include "ObjectPoolManager.h" -#include "PlayerCharacter.h" -#include "VampirePlayerController.h" #include "GameFramework/GameMode.h" #include "VampireGameMode.generated.h" +class AObjectPoolManager; +class AVampirePlayerController; +class APlayerCharacter; +class AEnemyCharacter; /** * */ diff --git a/Source/vampires/WeaponInventoryComponent.cpp b/Source/vampires/WeaponInventoryComponent.cpp index 55c5b39..7dfef42 100644 --- a/Source/vampires/WeaponInventoryComponent.cpp +++ b/Source/vampires/WeaponInventoryComponent.cpp @@ -2,6 +2,7 @@ #include "WeaponInventoryComponent.h" +#include "Weapon.h" // Sets default values for this component's properties UWeaponInventoryComponent::UWeaponInventoryComponent() diff --git a/Source/vampires/WeaponInventoryComponent.h b/Source/vampires/WeaponInventoryComponent.h index 6729d4a..8f6748c 100644 --- a/Source/vampires/WeaponInventoryComponent.h +++ b/Source/vampires/WeaponInventoryComponent.h @@ -3,11 +3,12 @@ #pragma once #include "CoreMinimal.h" -#include "Weapon.h" #include "Components/ActorComponent.h" #include "WeaponInventoryComponent.generated.h" +class AWeapon; + UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent)) class VAMPIRES_API UWeaponInventoryComponent : public UActorComponent { diff --git a/UpgradeLog.htm b/UpgradeLog.htm new file mode 100644 index 0000000000000000000000000000000000000000..f81edc1550d27a515200e3483ec6ea13c49016af GIT binary patch literal 112438 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 literal 0 HcmV?d00001