LEAP Documentation 40220
Documentation for the LEAP project
ProjectXGameModeTDCapFlag.h
Go to the documentation of this file.
1// Copyright Blue Isle Studios Inc 2018. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "ProjectXGameMode.h"
7#include "ProjectXGameModeTDCapFlag.generated.h"
8
9USTRUCT(Blueprintable)
11{
12 GENERATED_USTRUCT_BODY()
13
14public:
15 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
16 TSubclassOf<class UActorComponent> FlagCarrierMapMarker;
17};
18
20class AFlag;
21
22UCLASS()
24{
25 GENERATED_UCLASS_BODY()
26
27public:
28 virtual void OnDeath(AController* Killed, AController* Killer, TSubclassOf<class UProjectXDamageType> DamageType, bool bWasHeadshot) override;
29
30 float GetMaxTickets() const { return MaxTicketCount; }
31
32protected:
33 virtual void CollectGamePlayObjects() override;
34 virtual void CalculateTicketWinCondition() override;
35
36 UFUNCTION()
37 virtual void FlagCaptured(AFlag* Flag, AProjectXCharacter* PickingUpActor, int32 Team);
38 UFUNCTION()
39 virtual void FlagPickedUp(AFlag* Flag, AProjectXCharacter* PickingUpActor, int32 Team);
40 UFUNCTION()
41 virtual void FlagReturned(AFlag* Flag, AProjectXCharacter* PickingUpActor, int32 Team);
42 UFUNCTION()
43 virtual void FlagDropped(AFlag* Flag, AProjectXCharacter* PickingUpActor, int32 Team);
44 UFUNCTION()
45 virtual void OnFlagUpdated(AFlag* Flag,bool bNewFlag);
46
47 /*Broadcast message for flag related events*/
48 UPROPERTY(EditDefaultsOnly, Category = GameMode)
49 TSubclassOf<class ULocalMessage> FlagEventBroadcastMessage;
50 /* Score a team needs to reach to win*/
51 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = GameMode)
52 float MaxTicketCount = 5.0f;
53
54};
Definition: Flag.h:43
Definition: ProjectXCharacter.h:128
Definition: ProjectXGameMode.h:115
Definition: ProjectXGameModeTDCapFlag.h:24
float GetMaxTickets() const
Definition: ProjectXGameModeTDCapFlag.h:30
Definition: ProjectXGameModeTDCapFlag.h:11