67 lines
1.8 KiB
C++

// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "UObject/Interface.h"
#include "PickAndPlaceUser.generated.h"
// This class does not need to be modified.
UINTERFACE(MinimalAPI)
class UPickAndPlaceUser : public UInterface
{
GENERATED_BODY()
};
/**
*
*/
class LUCKYMUJOCO_API IPickAndPlaceUser
{
GENERATED_BODY()
// Add interface functions to this class. This is the class that will be inherited to implement this interface.
public:
/**
* Set pick and place targets.
* @param PickAndPlaceTarget - The target to pick up.
* @param PickAndPlaceArea - The area to drop the location at.
* @return - True if both targets are valid.
*/
UFUNCTION(BlueprintCallable,BlueprintNativeEvent,Category="PickAndPlaceUser")
bool SetPickAndPlaceTargets(AActor* PickAndPlaceTarget, AActor* PickAndPlaceArea);
/**
* Tell the robot to place the target at the desired location.
* @return - True if both targets are valid.
*/
UFUNCTION(BlueprintCallable,BlueprintNativeEvent,Category="PickAndPlaceUser")
bool PlaceTarget();
/**
* Tell the robot to close its jaw.
* @param TargetValue - The target value for the jaw.
* @return - True if both targets are valid.
*/
UFUNCTION(BlueprintCallable,BlueprintNativeEvent,Category="PickAndPlaceUser")
bool CloseJaw(float TargetValue);
/**
* Tell the robot to open its jaw.
* @param TargetValue - The target value for the jaw.
* @return - True if both targets are valid.
*/
UFUNCTION(BlueprintCallable,BlueprintNativeEvent,Category="PickAndPlaceUser")
bool OpenJaw(float TargetValue);
/**
* Tell the robot to release the object.
* @return - True if both targets are valid.
*/
UFUNCTION(BlueprintCallable,BlueprintNativeEvent,Category="PickAndPlaceUser")
bool DropTarget();
};