Files
Unreal_EmberWild/Source/EmberWild/Public/InventoryDragDropOperation.h
T

37 lines
1.0 KiB
C++

// 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 EMBERWILD_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<UInventoryComponent> SourceInventory;
};