2023-12-05 12:25:27 +01:00

32 lines
945 B
C++

#pragma once
#include "Perception.h"
#include "Propulsion.h"
namespace Passer {
namespace RoboidControl {
/// @brief A Roboid is used to control autonomous robots
class Roboid {
public:
/// @brief Default constructor for a Roboid
Roboid();
/// @brief Creates a Roboid with Perception and Propulsion abilities
/// @param perception The Perception implementation to use for this Roboid
/// @param propulsion The Propulsion implementation to use for this Roboid
Roboid(Perception* perception, Propulsion* propulsion);
/// @brief Update the state of the Roboid
/// @param currentTimeMs The time in milliseconds when calling this
/// function
void Update(float currentTimeMs);
/// @brief The Perception module of this Roboid
Perception* perception;
/// @brief The Propulsion module of this Roboid
Propulsion* propulsion;
};
} // namespace RoboidControl
} // namespace Passer
using namespace Passer::RoboidControl;