LEAP Documentation 40220
Documentation for the LEAP project
ProjectXGameStateBaseControl.h
Go to the documentation of this file.
1// Copyright Blue Isle Studios Inc 2018. All Rights Reserved.
2#pragma once
3#include "CoreMinimal.h"
4#include "ProjectX.h"
5#include "ProjectXGameState.h"
6#include "ProjectXGameStateBaseControl.generated.h"
7
8class ACapturePoint;
10
11DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FCapturePointEventSignature, ACapturePoint*, CapturePoint, int32, OwningTeam, int32, CaptureTeam);
12DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FControlPointsChangedSignature, const TArray<ACapturePoint*>&, ControlPoints);
13
14UCLASS()
16{
17 GENERATED_BODY()
18
19public:
21 UFUNCTION(BlueprintCallable, Category = "Base Control")
22 virtual int32 GetBaseCount(uint8 Team) const;
23
24 UFUNCTION(BlueprintCallable, Category = "Base Control")
25 virtual const TArray<ACapturePoint*>& GetControlPoints() const;
26
27 void SaveCapturePoints(TArray<ACapturePoint*>& Points);
28 void CapturePointsChanged();
29
30 virtual void HandleMatchWarmupEnded() override;
31
32public:
33 UPROPERTY(BlueprintAssignable)
34 FCapturePointEventSignature OnCapturePointEvent;
35
36 UPROPERTY(BlueprintAssignable)
37 FControlPointsChangedSignature OnControlPointsChanged;
38
39protected:
40 UFUNCTION()
41 virtual void OnRep_CapturePoints();
42
43private:
44 UPROPERTY(ReplicatedUsing = OnRep_CapturePoints)
45 TArray<ACapturePoint*> CapturePoints;
46 UPROPERTY()
47 FTimerHandle TicketConsumeTimerHandle;
48
49 FString MatchStartBaseControl = "VO_MatchStart_BaseControl";
50};
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FCapturePointEventSignature, ACapturePoint *, CapturePoint, int32, OwningTeam, int32, CaptureTeam)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FControlPointsChangedSignature, const TArray< ACapturePoint * > &, ControlPoints)
Definition: CapturePoint.h:77
Definition: ProjectXGameModeBaseControl.h:14
virtual void HandleMatchWarmupEnded()
Definition: ProjectXGameMode.cpp:371
Definition: ProjectXGameStateBaseControl.h:16
Definition: ProjectXGameState.h:158