// Oleg Petruny proprietary.

#pragma once

#include "InteractableModificator.h"

#include "InventoryInteractableModificator.generated.h"

/**
 * Modificator of type Use for storing items in a APlayerBase
 */
UCLASS(Blueprintable, BlueprintType, ClassGroup = InteractableModificator, meta = (BlueprintSpawnableComponent, ShortTooltip = "Modificator of type Use for storing items in a APlayerBase"), MinimalAPI)
class UInventoryInteractableModificator : public UInteractableModificator
{
    GENERATED_BODY()

public:
    UInventoryInteractableModificator(const FObjectInitializer& ObjectInitializer);

    void Bind_Implementation(class UEnhancedInputComponent* input) override;
    void Unbind_Implementation() override;

    UPROPERTY(EditAnywhere)
    FText name = FText::FromString("NONE");

protected:
    void TakeAsFirstItem();
    void TakeAsSecondItem();

private:
    class UEnhancedInputComponent* lastInput = nullptr;
    TArray<int32> bindindingHandlers;
    class APlayerBase* lastPlayer = nullptr;
};
