Files
Cog/Source/CogSample/CogSampleBasicActor.h
T
Arnaud Jamin b147b4b05f minor fixes
2023-10-27 10:17:25 -04:00

55 lines
1.7 KiB
C++

#pragma once
#include "CoreMinimal.h"
#include "CogSampleProgressionLevelInterface.h"
#include "CogSampleTeamInterface.h"
#include "CogSampleSpawnableInterface.h"
#include "GameFramework/Actor.h"
#include "CogSampleBasicActor.generated.h"
//--------------------------------------------------------------------------------------------------------------------------
UCLASS(config=Game)
class ACogSampleBasicActor : public AActor
, public ICogSampleProgressionLevelInterface
, public ICogSampleSpawnableInterface
, public ICogSampleTeamInterface
{
GENERATED_BODY()
public:
ACogSampleBasicActor(const FObjectInitializer& ObjectInitializer);
virtual void BeginPlay();
UFUNCTION(BlueprintPure)
virtual int32 GetTeam() const override { return Team; }
UFUNCTION(BlueprintCallable)
virtual void SetTeam(int32 Value) override;
UFUNCTION(BlueprintPure)
virtual int32 GetProgressionLevel() const override { return ProgressionLevel; }
UFUNCTION(BlueprintCallable)
virtual void SetProgressionLevel(int32 Value) override;
UFUNCTION(BlueprintPure)
virtual AActor* GetCreator() const override { return Creator.Get(); }
UFUNCTION(BlueprintCallable)
virtual void SetCreator(AActor* Value) override;
protected:
UPROPERTY(Replicated, EditAnywhere, BlueprintReadOnly, Category = Team, meta = (AllowPrivateAccess, ExposeOnSpawn))
int32 Team = 0;
UPROPERTY(Replicated, EditAnywhere, BlueprintReadOnly, Category = Team, meta = (AllowPrivateAccess, ExposeOnSpawn))
int32 ProgressionLevel = 0;
UPROPERTY(Replicated, EditAnywhere, BlueprintReadOnly, Category = Team, meta = (AllowPrivateAccess, ExposeOnSpawn))
TWeakObjectPtr<AActor> Creator = nullptr;
};