RoveSoSimulator
Loading...
Searching...
No Matches
Talos2025.h
1#pragma once
2
3#include "Core/RoverInterface.h"
4#include "Core/RoverVehiclePawn.h"
5
6/**
7 * @brief Implementation of the RoverInterface for the 2025 Talos rover.
8 */
9class ITalos2025Interface final : public IRoverInterface
10{
11public:
12 ITalos2025Interface() = default;
13 ~ITalos2025Interface() = default;
14 constexpr const uint8 GetNumControlStates();
15 constexpr const bool IsDirectDriveControlMode(uint8 state);
16 constexpr const bool IsRotationDriveControlMode(uint8 state);
17 constexpr const bool IsRoveCommDriveControlMode(uint8 state);
18 constexpr const bool IsRoverDriveControlMode(uint8 state);
19 constexpr const bool IsOrbitCameraMode(uint8 state);
20 constexpr const bool IsLockedCameraMode(uint8 state);
21 constexpr const bool IsFixedCameraMode(uint8 state);
22 constexpr const bool IsFreeCameraMode(uint8 state);
23 constexpr const bool IsRotatableCameraMode(uint8 state);
24 constexpr const FVector GetColorForControlState(uint8 state);
25
26 void InitalizeStates(ARoverVehiclePawn* rover);
27 void HandleAttachmentState(ARoverVehiclePawn* rover);
28 void HandleCameraState(ARoverVehiclePawn* rover);
29 void CameraCycleCallback(ARoverVehiclePawn* rover, const bool forwards);
30 void HandleControlState(ARoverVehiclePawn* rover);
31 void ControlModeCycleCallback(ARoverVehiclePawn* rover, const bool forwards);
32 const bool ControlModeSetCallback(ARoverVehiclePawn* rover, short num);
33
34 void LeftThrottleCallback(ARoverVehiclePawn* rover, const float value);
35 void RightThrottleCallback(ARoverVehiclePawn* rover, const float value);
36 void TranslationCallback(ARoverVehiclePawn* rover, const float value);
37 void RotationCallback(ARoverVehiclePawn* rover, const float value);
38 void ZoomCallback(ARoverVehiclePawn* rover, const float value);
39};
Custom WheeledVehiclePawn subclass which integrates many required pieces of logic for the rover's fun...
Definition RoverVehiclePawn.h:33
Interface which represents the logic expected to change depending on rover version.
Definition RoverInterface.h:29