53 lines
978 B
C++
Executable file
53 lines
978 B
C++
Executable file
#ifndef _NAVIGATOR_H
|
|
#define _NAVIGATOR_H
|
|
|
|
#include "../../stdafx.h"
|
|
|
|
class Navigator : public IO_Module
|
|
{
|
|
public:
|
|
Navigator()
|
|
{
|
|
this->parent = NULL;
|
|
this->moduleId = 0;
|
|
this->direction = -1.0f;
|
|
this->targetAngle = -1.0f;
|
|
this->targetX = -1.0f;
|
|
this->targetY = -1.0f;
|
|
this->speed = 0;
|
|
this->rotationSpeed = 0;
|
|
}
|
|
|
|
Navigator(uint32 navigatorId)
|
|
{
|
|
this->parent = NULL;
|
|
this->moduleId = navigatorId;
|
|
this->direction = -1.0f;
|
|
this->targetAngle = -1.0f;
|
|
this->targetX = -1.0f;
|
|
this->targetY = -1.0f;
|
|
this->speed = 0;
|
|
this->rotationSpeed = 0;
|
|
}
|
|
|
|
protected:
|
|
float direction;
|
|
float targetAngle;
|
|
float targetX;
|
|
float targetY;
|
|
float speed;
|
|
float rotationSpeed;
|
|
|
|
public:
|
|
void Update();
|
|
|
|
void Stop();
|
|
|
|
void Drive(float newDirection, float newAngle, float newSpeed, float rotationSpeed);
|
|
|
|
void DriveTo(float newX, float newY, float newAngle);
|
|
|
|
void Rotate(float rotationSpeed);
|
|
};
|
|
|
|
#endif
|