LEAP Documentation 40220
Documentation for the LEAP project
ProjectXTransportObjective.h
Go to the documentation of this file.
1// Copyright Blue Isle Studios Inc 2022. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "ProjectXTransportObjective.generated.h"
8
9class UAfflictionInstance;
11
12UCLASS()
14{
15 GENERATED_UCLASS_BODY()
16public:
17 virtual bool IsObjectiveComplete() const override;
18 AFlag* const GetFlagByCarrier(AProjectXCharacter* const Character) const;
19
20protected:
21 virtual void BeginPlay() override;
22 virtual void InitializeGamePlayObjects() override;
23 virtual void BeginSpawning_Implementation() override;
24 virtual void StopSpawning_Implementation() override;
25
26 UFUNCTION()
27 virtual void FlagCaptured(AFlag* Flag, AProjectXCharacter* PickingUpActor, int32 Team);
28 UFUNCTION()
29 virtual void OnFlagUpdated(AFlag* Flag, bool NewFlag);
30 UFUNCTION()
31 virtual void FlagPickedUp(AFlag* Flag, AProjectXCharacter* PickingUpActor, int32 Team);
32 UFUNCTION()
33 virtual void FlagDropped(AFlag* Flag, AProjectXCharacter* DroppedCharacter, int32 Team);
34
35 /* How many drop offs are required to complete the missioin*/
36 UPROPERTY(EditInstanceOnly)
37 int32 NumberOfItemsToTransport = 1;
38 /* Pickup locations*/
39 UPROPERTY(EditInstanceOnly)
40 TArray<ATransportObjectiveSpawnPoint*> PickupLocations;
41 /* Drop off locations*/
42 UPROPERTY(EditInstanceOnly)
43 TArray<ATransportObjectiveSpawnPoint*> DropOffLocations;
44 /*Affliction to apply to carriers*/
45 UPROPERTY(EditDefaultsOnly)
46 TSubclassOf<UAfflictionInstance> CarrierAffliction;
47
48 int32 CurrentCaptureAmount = 0;
49};
Definition: Flag.h:43
virtual void BeginPlay() override
Definition: FlagSpawn.cpp:42
AFlag * Flag
Definition: FlagSpawn.h:94
int32 Team
Definition: FlagSpawn.h:114
Definition: ProjectXCharacter.h:128
Definition: ProjectXSpawnerObjective.h:53
Definition: ProjectXTransportObjective.h:14
Definition: TransportObjectiveSpawnPoint.h:15
TSubclassOf< UAfflictionInstance > CarrierAffliction
Definition: TransportObjectiveSpawnPoint.h:27