Implemented Base World Item Functionality
This commit is contained in:
parent
3a3c00418a
commit
ad8b9abbca
@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
#include "BaseWorldItem.h"
|
#include "BaseWorldItem.h"
|
||||||
|
|
||||||
|
#include "InventoryComponent.h"
|
||||||
|
|
||||||
|
|
||||||
// Sets default values
|
// Sets default values
|
||||||
ABaseWorldItem::ABaseWorldItem()
|
ABaseWorldItem::ABaseWorldItem()
|
||||||
@ -11,16 +13,12 @@ ABaseWorldItem::ABaseWorldItem()
|
|||||||
PrimaryActorTick.bCanEverTick = true;
|
PrimaryActorTick.bCanEverTick = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Called when the game starts or when spawned
|
void ABaseWorldItem::Interact()
|
||||||
void ABaseWorldItem::BeginPlay()
|
|
||||||
{
|
{
|
||||||
Super::BeginPlay();
|
APawn* PlayerPawn = GetWorld()->GetFirstPlayerController()->GetPawn();
|
||||||
|
UInventoryComponent* PlayersInventory = Cast<UInventoryComponent>(PlayerPawn->GetComponentByClass(UInventoryComponent::StaticClass()));
|
||||||
|
PlayersInventory->AddItem(NewObject<UBaseItem>(GetWorld(), ItemClass));
|
||||||
|
Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Called every frame
|
|
||||||
void ABaseWorldItem::Tick(float DeltaTime)
|
|
||||||
{
|
|
||||||
Super::Tick(DeltaTime);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -3,23 +3,28 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "CoreMinimal.h"
|
#include "CoreMinimal.h"
|
||||||
|
#include "BaseItem.h"
|
||||||
|
#include "EndlessVendetta/InteractionInterface.h"
|
||||||
#include "GameFramework/Actor.h"
|
#include "GameFramework/Actor.h"
|
||||||
#include "BaseWorldItem.generated.h"
|
#include "BaseWorldItem.generated.h"
|
||||||
|
|
||||||
UCLASS()
|
UCLASS()
|
||||||
class ENDLESSVENDETTA_API ABaseWorldItem : public AActor
|
class ENDLESSVENDETTA_API ABaseWorldItem : public AActor, public IInteractionInterface
|
||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
// ---------------------- Attributes --------------------------
|
||||||
|
UPROPERTY(EditDefaultsOnly, Category = "Item")
|
||||||
|
TSubclassOf<UBaseItem> ItemClass;
|
||||||
|
|
||||||
|
// ---------------------- Methods -----------------------------
|
||||||
|
protected:
|
||||||
|
void Interact() override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Sets default values for this actor's properties
|
// Sets default values for this actor's properties
|
||||||
ABaseWorldItem();
|
ABaseWorldItem();
|
||||||
|
|
||||||
protected:
|
|
||||||
// Called when the game starts or when spawned
|
|
||||||
virtual void BeginPlay() override;
|
|
||||||
|
|
||||||
public:
|
|
||||||
// Called every frame
|
|
||||||
virtual void Tick(float DeltaTime) override;
|
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user