Files
LuckyWorld/Source/LuckyWorldV2/Public/Robot/RobotPawn.h
Jb win 42196c7680 WIP - Architecture for brute force animation
+ sequence look / extend / grab / drop
2025-05-02 00:36:59 +07:00

42 lines
1.2 KiB
C++

#pragma once
#include "CoreMinimal.h"
#include "SharedDef.h"
#include "RobotPawn.generated.h"
class AMujocoVolumeActor;
class URobotPilotComponent;
// Enum of bots
UCLASS(Blueprintable)
class LUCKYWORLDV2_API ARobotPawn : public APawn // Should be an actor?
{
GENERATED_BODY()
public:
ARobotPawn();
virtual void BeginPlay() override;
// TODO Called by GameInstance after robot has been spawned
void InitRobot();
UPROPERTY(EditAnywhere, BlueprintReadWrite)
ERobotsName RobotType = ERobotsName::None; // This value must be set in the pawn
UPROPERTY(EditAnywhere, BlueprintReadWrite) // TODO Remove UPROPERTY once we migrate physics proxy initialization from Pawn
TObjectPtr<AMujocoVolumeActor> PhysicSceneProxy;
UPROPERTY(EditAnywhere, BlueprintReadWrite) // TODO Remove UPROPERTY once we migrate physics proxy initialization from Pawn
TObjectPtr<AActor> RobotActor; // My brain is bleeding facing the fact that we have 2 actors...
// -------------------
// ------ PILOT ------
// -------------------
UPROPERTY(EditAnywhere, BlueprintReadWrite)
URobotPilotComponent* RobotPilotComponent = nullptr;
UFUNCTION(BlueprintCallable)
void InitPilotComponent(); // This should have Robot type as parameter?
};