2025-04-30 21:28:42 +07:00
|
|
|
|
#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
|
2025-05-02 00:21:59 +07:00
|
|
|
|
TObjectPtr<AMujocoVolumeActor> PhysicsSceneProxy;
|
2025-05-01 03:11:58 +07:00
|
|
|
|
|
|
|
|
|
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...
|
|
|
|
|
|
2025-04-30 21:28:42 +07:00
|
|
|
|
|
|
|
|
|
// -------------------
|
|
|
|
|
// ------ PILOT ------
|
|
|
|
|
// -------------------
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
|
URobotPilotComponent* RobotPilotComponent = nullptr;
|
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
|
|
|
void InitPilotComponent(); // This should have Robot type as parameter?
|
|
|
|
|
};
|