Lephisto/src/player.h
2018-04-14 23:08:19 +01:00

31 lines
914 B
C++

#pragma once
#include "libs.h"
#include "ship.h"
class Player : public Ship {
public:
OBJDEF(Player, Ship, PLAYER);
Player(ShipType::Type shipType);
Player(void) { }
virtual ~Player(void);
void PollControls(void);
virtual void Render(const Frame* camFrame);
void DrawHUD(const Frame* cam_frame);
virtual void SetDockedWith(SpaceStation*, int port);
void TimeStepUpdate(const float timeStep);
enum FlightControlState { CONTROL_MANUAL, CONTROL_FIXSPEED, CONTROL_AUTOPILOT };
FlightControlState GetFlightControlState(void) const { return m_flightControlState; }
void SetFlightControlState(FlightControlState s);
protected:
virtual void Save(void);
virtual void Load(void);
private:
void DrawTargetSquares();
void DrawTargetSquare(const Body* const target);
float m_mouseCMov[2];
bool polledControlsThisTurn;
enum FlightControlState m_flightControlState;
float m_setSpeed;
};