SQCSimulator2023/SQCSim2021/remoteplayer.h
2023-11-20 15:43:01 -05:00

42 lines
1.1 KiB
C++

#ifndef REMOTEPLAYER_H__
#define REMOTEPLAYER_H__
#include "../SQCSim-common/player.h"
#include "../SQCSim-common/netprotocol.h"
#include "define.h"
#include "textureatlas.h"
#include "shader.h"
#include "texture.h"
#include "openglcontext.h"
#include "vertexbuffer.h"
#include "../SQCSim-common/matrix4.h"
class RemotePlayer : public Player {
public:
enum Anim: uint8_t { STILL = 1, RUNNING = 2, JUMPING = 4, SHOOTING = 8, POWERUP = 16, DEAD = 32 }; // A REVOIR VOIR DEFINE.H POUR LES ANIMES
RemotePlayer(netprot::PlayerInfo pinfo);
RemotePlayer(netprot::PlayerInfo pinfo, const Vector3f& pos);
~RemotePlayer();
void Init();
void Feed(const netprot::Output out);
void Render(TextureAtlas& atlas, Shader& shader, Transformation tran, float elapsedTime);
bool LoadTexture(Texture& texture, const std::string& filename, bool useMipmaps, bool stopOnError);
void SetPosition(Vector3f pos) { m_position = pos; }
private:
netprot::Output current, previous;
std::map<uint64_t, netprot::Output> m_outbuf;
netprot::PlayerInfo m_pinfo;
float m_aminacc;
Anim m_animstate;
uint64_t m_team_id;
Texture m_texture_front;
};
#endif