// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "SelectedUpgrade.h" #include "Unit.h" #include "Subsystems/LocalPlayerSubsystem.h" #include "UpgradeSubsystem.generated.h" /** * */ UCLASS() class SPACEBATTLER_API UUpgradeSubsystem : public ULocalPlayerSubsystem { GENERATED_BODY() public: UFUNCTION(BlueprintCallable) void ApplyUnitUpgrades(AUnit* Unit); UFUNCTION(BlueprintCallable) void ApplyGlobalUpgrades(); UFUNCTION(BlueprintCallable) void AddUpgrade(UUpgrade* UpgradeToAdd); UFUNCTION(BlueprintCallable) USelectedUpgrade* FindSelectedUpgrade(UUpgrade* SystemToFind); protected: UPROPERTY(BlueprintReadWrite) int32 BattleTier = 1; UPROPERTY(BlueprintReadWrite) TArray SelectedUpgrades; UPROPERTY(BlueprintReadWrite) int32 MaxUnits; };