#include "Robot/PilotComponent/RobotPilotComponent.h" #include "Actors/MujocoVolumeActor.h" #include "Robot/RobotPawn.h" URobotPilotComponent::URobotPilotComponent() { } void URobotPilotComponent::BeginPlay() { Super::BeginPlay(); // Reference owning robot RobotOwner = Cast(GetOwner()); InitPilotComponent(); } void URobotPilotComponent::TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) { Super::TickComponent(DeltaTime, TickType, ThisTickFunction); } void URobotPilotComponent::InitPilotComponent() { if (RobotOwner.Get() && RobotOwner->PhysicsSceneProxy.Get()) { RobotOwner->PhysicsSceneProxy->BindPostPhysicStepDelegate(this, &URobotPilotComponent::PostPhysicStepUpdate); } } void URobotPilotComponent::PostPhysicStepUpdate(const float SimulationTime) { // Overriden in each dedicated RobotPilotComponent } FTransform URobotPilotComponent::GetReachableTransform() { return FTransform::Identity; } bool URobotPilotComponent::GetIsReadyForTraining() { // Overriden in individual components return false; } bool URobotPilotComponent::GetIsInRestState() { // Overriden in individual components return true; } void URobotPilotComponent::SetRobotTarget(const FTransform& TargetTransformIn) { } void URobotPilotComponent::SetRobotCurrentRewardZone(const FTransform& RewardTransformIn) { }