KlassischeKeplerKriege/game/state/player.hpp

45 lines
1 KiB
C++
Raw Permalink Normal View History

#pragma once
2016-09-27 20:35:16 +00:00
#include <string>
#include <deque>
#include <list>
#include <glm/vec2.hpp>
#include <glm/vec3.hpp>
namespace game {
class Ship;
class Command;
class Missile;
class Player {
public:
size_t id;
bool alive;
2016-09-27 20:35:16 +00:00
float speed;
float energy;
float deadTimeCounter;
2016-10-06 01:30:09 +00:00
glm::vec3 color;
Ship *ship;
2016-09-27 20:35:16 +00:00
std::string name;
std::list<Missile*> missiles;
Player(size_t id) : id(id), alive(true), speed(1.0), energy(0.0), ship(nullptr), name("<unnamed>")
{
2016-10-06 01:30:09 +00:00
float h = ((float) rand()) / (float) RAND_MAX;
float s = ((float) rand()) / (float) RAND_MAX;
float v = ((float) rand()) / (float) RAND_MAX;
color =glm::vec3(h,s,v);//glm::gtx::color_space::rgbColor( glm::vec3(h/360.0,1,1)) ;
}
void addCommand(Command *cmd);
bool hasCommandInQueue();
Command *peekCommand();
void popCommand();
private:
std::deque<Command*> commands;
};
}