49 lines
1.9 KiB
C++
49 lines
1.9 KiB
C++
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "GameFramework/Character.h"
|
|
#include "BaseAttributeSet.h"
|
|
#include "AbilitySystemInterface.h"
|
|
#include "Items/InventoryComponent.h"
|
|
#include "Commands/BaseCommand.h"
|
|
#include "Items/InventoryInterface.h"
|
|
#include "UI/OutlinerTypes.h"
|
|
#include "Interaction/InteractionInterface.h"
|
|
#include "BaseUnit.generated.h"
|
|
|
|
class UCommandComponent;
|
|
|
|
UCLASS()
|
|
class MAYBETHISTIME_API ABaseUnit : public ACharacter, public IAbilitySystemInterface, public IInteractionInterface, public IInventoryInterface
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
// Sets default values for this character's properties
|
|
ABaseUnit();
|
|
|
|
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
|
|
virtual UAbilitySystemComponent* GetAbilitySystemComponent() const override;
|
|
void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
|
|
|
|
UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category = "Abilities") UCommandComponent* CommandComponent;
|
|
UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category = "Abilities") UAbilitySystemComponent* AbilitySystemComponent;
|
|
UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category = "Abilities") UBaseAttributeSet* AttributeSet;
|
|
UPROPERTY(EditDefaultsOnly) TArray<TSubclassOf<UGameplayEffect>> PassiveUpkeepEffects;
|
|
UPROPERTY(Replicated, EditAnywhere, BlueprintReadWrite) FName PrimaryFaction;
|
|
UPROPERTY(Replicated, EditAnywhere, BlueprintReadWrite) FText DisplayName;
|
|
|
|
// Inventory
|
|
UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category = "Abilities") UInventoryComponent* InventoryComponent;
|
|
virtual UInventoryComponent* GetInventoryComponent_Implementation() const override;
|
|
|
|
// HUD
|
|
UFUNCTION(BlueprintCallable, BlueprintPure) virtual EOutlinerStatus GetOutlinerStatus() const;
|
|
|
|
|
|
protected:
|
|
virtual void BeginPlay() override;
|
|
};
|