// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "Blueprint/DragDropOperation.h" #include "InventoryDragDropOperation.generated.h" class UInventoryComponent; /** * Ce qui voyage entre la case qu'on saisit et celle ou on lache. * * On transporte un INDEX et non le contenu du slot : si l'inventaire change * pendant le glisser (ramassage automatique, script), la cible relira l'etat * reel au moment du drop au lieu d'appliquer une donnee perimee. */ UCLASS() class SURVIVAL_PROJET_API UInventoryDragDropOperation : public UDragDropOperation { GENERATED_BODY() public: UPROPERTY(BlueprintReadOnly, Category = "Inventaire") int32 SourceSlotIndex = INDEX_NONE; /** * Combien d'exemplaires on deplace. Egal a la pile entiere pour un * glisser normal, la moitie avec Maj, un seul avec Ctrl. */ UPROPERTY(BlueprintReadOnly, Category = "Inventaire") int32 Quantity = 0; UPROPERTY(BlueprintReadOnly, Category = "Inventaire") TWeakObjectPtr SourceInventory; };