a40aa57f70
All Items are added in BP with the values they are meant to have. Starting to now actually implement them into the inventory UI and creating the Inventory UI
42 lines
1.2 KiB
C++
42 lines
1.2 KiB
C++
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Components/ActorComponent.h"
|
|
#include "InventoryComponent.generated.h"
|
|
|
|
//OUR DELEGATE IS CALLED FONINVENTORYUPDATED
|
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnInventoryUpdated);
|
|
|
|
UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
|
|
class THE_TWILIGHT_ABYSS_API UInventoryComponent : public UActorComponent
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
// Sets default values for this component's properties
|
|
UInventoryComponent();
|
|
|
|
protected:
|
|
// Called when the game starts
|
|
virtual void BeginPlay() override;
|
|
|
|
public:
|
|
bool AddItem(class UBaseItem* BaseItem); //adds the item to the player
|
|
|
|
bool Remove(class UBaseItem* BaseItem); //removes the item from the player
|
|
|
|
UPROPERTY(EditDefaultsOnly, Instanced)
|
|
TArray<class UBaseItem*> DefaultItems; //Items you start the game with IF YOU WANT YOU CAN JUST NOT USE THIS
|
|
|
|
UPROPERTY(EditDefaultsOnly, Category= "Inventory")
|
|
int32 MaxItemSlots;
|
|
|
|
UPROPERTY(BlueprintAssignable, Category= "Inventory")
|
|
FOnInventoryUpdated OnInventoryUpdated; //This is our delegate
|
|
|
|
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category= "Items")
|
|
TArray<class UBaseItem*> Items; // The items currently in the inventory
|
|
};
|