mirror of
https://github.com/ApfelTeeSaft/UnrealEvent.git
synced 2026-08-27 03:43:40 +00:00
135 lines
5.0 KiB
C++
135 lines
5.0 KiB
C++
#pragma once
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/NoExportTypes.h"
|
|
#include "Engine/EngineTypes.h"
|
|
#include "BuildingGameplayActor.h"
|
|
#include "ECaptureState.h"
|
|
#include "EContentionRules.h"
|
|
#include "EFortTeam.h"
|
|
#include "EUnlockRules.h"
|
|
#include "OnCapturePointStateChangedDelegate.h"
|
|
#include "OnTeamOwningPointChangedDelegate.h"
|
|
#include "BuildingCapturePointActor.generated.h"
|
|
|
|
class AActor;
|
|
class UPrimitiveComponent;
|
|
class USphereComponent;
|
|
|
|
UCLASS(Blueprintable, MinimalAPI)
|
|
class ABuildingCapturePointActor : public ABuildingGameplayActor {
|
|
GENERATED_BODY()
|
|
public:
|
|
protected:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
uint8 bUseHUDIndicator: 1;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FName HUDStyle;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FVector HUDOffset;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
uint8 bHUDClampToScreenEdge: 1;
|
|
|
|
public:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, meta=(AllowPrivateAccess=true))
|
|
USphereComponent* CollisionComponent;
|
|
|
|
protected:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, ReplicatedUsing=OnRep_bActivated, meta=(AllowPrivateAccess=true))
|
|
uint8 bActivated: 1;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
EContentionRules ContentionRules;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TArray<TEnumAsByte<EFortTeam::Type>> TeamsBarredFromCapture;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
float PercentIncreasePerPlayerCaptor;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
float PercentIncreasePerAICaptor;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
float PercentDecreaseNoCaptor;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, ReplicatedUsing=OnRep_bLocked, meta=(AllowPrivateAccess=true))
|
|
uint8 bLocked: 1;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
float UnlockInterval;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
EUnlockRules UnlockRules;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Replicated, Transient, meta=(AllowPrivateAccess=true))
|
|
int32 NumCapturingPoint;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Replicated, Transient, meta=(AllowPrivateAccess=true))
|
|
uint8 TeamCapturingPoint;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
uint8 TeamControllingPoint;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Replicated, Transient, meta=(AllowPrivateAccess=true))
|
|
uint8 TeamOwningPoint;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, ReplicatedUsing=OnRep_CaptureState, meta=(AllowPrivateAccess=true))
|
|
ECaptureState CaptureState;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
float CapturePercentage;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, ReplicatedUsing=OnRep_ReplicatedCapturePercentage, meta=(AllowPrivateAccess=true))
|
|
float ReplicatedCapturePercentage;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FOnCapturePointStateChanged OnCapturePointStateChanged;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FOnTeamOwningPointChanged OnTeamOwningPointChanges;
|
|
|
|
public:
|
|
ABuildingCapturePointActor();
|
|
virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void SetActivatedState(bool bInActivated);
|
|
|
|
protected:
|
|
UFUNCTION(BlueprintCallable)
|
|
void OnRep_ReplicatedCapturePercentage();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void OnRep_CaptureState();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void OnRep_bLocked();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void OnRep_bActivated();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void OnLeaveCapturePoint(UPrimitiveComponent* OverlappedComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void OnEnterCapturePoint(UPrimitiveComponent* OverlappedComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult);
|
|
|
|
public:
|
|
UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
|
|
void OnCapturePointStateChange(ECaptureState InState, uint8 InTeam);
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
|
|
void OnCapturePointLockStateChange(bool bInLocked);
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
|
|
void OnCapturePointActiveStateChange(bool bInActive);
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
ECaptureState GetCaptureState() const;
|
|
|
|
};
|
|
|