Initial commit: Item Interaction Ecosystem plugin (UE5.7)
Server-authoritative, data-driven item/inventory/interaction/carry/equipment/ world-slot/placement/crafting framework. 8 modules, compiles against UE 5.7. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
76
Source/ItemWorld/Public/WorldInteractionActions.h
Normal file
76
Source/ItemWorld/Public/WorldInteractionActions.h
Normal file
@ -0,0 +1,76 @@
|
||||
// Copyright ExByte Studios. Item Interaction Ecosystem.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "InteractionAction.h"
|
||||
#include "WorldInteractionActions.generated.h"
|
||||
|
||||
/**
|
||||
* World interaction actions (section 16). Each routes through the player's
|
||||
* UItemInteractionComponent::ServerExecuteMode so it shares the one validated
|
||||
* execution path (carry/equip/install/use live in UWorldInteractionComponent).
|
||||
*/
|
||||
|
||||
UCLASS(meta = (DisplayName = "Action: Carry (Attached)"))
|
||||
class ITEMWORLD_API UInteractionAction_CarryAttached : public UInteractionAction
|
||||
{
|
||||
GENERATED_BODY()
|
||||
public:
|
||||
UInteractionAction_CarryAttached();
|
||||
virtual void Execute_Implementation(const FInteractionContext& Context) override;
|
||||
};
|
||||
|
||||
UCLASS(meta = (DisplayName = "Action: Carry (Physics)"))
|
||||
class ITEMWORLD_API UInteractionAction_CarryPhysics : public UInteractionAction
|
||||
{
|
||||
GENERATED_BODY()
|
||||
public:
|
||||
UInteractionAction_CarryPhysics();
|
||||
virtual void Execute_Implementation(const FInteractionContext& Context) override;
|
||||
};
|
||||
|
||||
UCLASS(meta = (DisplayName = "Action: Equip"))
|
||||
class ITEMWORLD_API UInteractionAction_Equip : public UInteractionAction
|
||||
{
|
||||
GENERATED_BODY()
|
||||
public:
|
||||
UInteractionAction_Equip();
|
||||
virtual void Execute_Implementation(const FInteractionContext& Context) override;
|
||||
};
|
||||
|
||||
UCLASS(meta = (DisplayName = "Action: Drop Held Item"))
|
||||
class ITEMWORLD_API UInteractionAction_DropHeldItem : public UInteractionAction
|
||||
{
|
||||
GENERATED_BODY()
|
||||
public:
|
||||
UInteractionAction_DropHeldItem();
|
||||
virtual void Execute_Implementation(const FInteractionContext& Context) override;
|
||||
};
|
||||
|
||||
UCLASS(meta = (DisplayName = "Action: Install Into World Slot"))
|
||||
class ITEMWORLD_API UInteractionAction_InstallIntoWorldSlot : public UInteractionAction
|
||||
{
|
||||
GENERATED_BODY()
|
||||
public:
|
||||
UInteractionAction_InstallIntoWorldSlot();
|
||||
virtual void Execute_Implementation(const FInteractionContext& Context) override;
|
||||
};
|
||||
|
||||
UCLASS(meta = (DisplayName = "Action: Remove From World Slot"))
|
||||
class ITEMWORLD_API UInteractionAction_RemoveFromWorldSlot : public UInteractionAction
|
||||
{
|
||||
GENERATED_BODY()
|
||||
public:
|
||||
UInteractionAction_RemoveFromWorldSlot();
|
||||
virtual void Execute_Implementation(const FInteractionContext& Context) override;
|
||||
};
|
||||
|
||||
UCLASS(meta = (DisplayName = "Action: Use Held On Target"))
|
||||
class ITEMWORLD_API UInteractionAction_UseHeldOnTarget : public UInteractionAction
|
||||
{
|
||||
GENERATED_BODY()
|
||||
public:
|
||||
UInteractionAction_UseHeldOnTarget();
|
||||
virtual void Execute_Implementation(const FInteractionContext& Context) override;
|
||||
};
|
||||
Reference in New Issue
Block a user