2013-12-12 09:33:59 +01:00
|
|
|
//////////////////////////////////////////////////////////
|
|
|
|
// Created 2013 //
|
|
|
|
// Dennis Andersen, Linda Andersson //
|
|
|
|
//////////////////////////////////////////////////////////
|
|
|
|
|
2013-12-09 11:57:34 +01:00
|
|
|
#ifndef GAMELOGIC_PLAYER_PROTOCOLS_H
|
|
|
|
#define GAMELOGIC_PLAYER_PROTOCOLS_H
|
|
|
|
|
2013-12-12 09:33:59 +01:00
|
|
|
#include <CustomNetProtocol.h>
|
2013-12-09 11:57:34 +01:00
|
|
|
#include "ProtocolIdentificationID.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace GameLogic
|
|
|
|
{
|
2013-12-12 10:36:55 +01:00
|
|
|
struct Protocol_PlayerMovement :public Oyster::Network::CustomProtocolObject
|
2013-12-09 11:57:34 +01:00
|
|
|
{
|
2013-12-17 10:07:46 +01:00
|
|
|
|
2013-12-09 11:57:34 +01:00
|
|
|
bool bForward;
|
|
|
|
bool bBackward;
|
|
|
|
bool bTurnLeft;
|
|
|
|
bool bTurnRight;
|
|
|
|
bool bStrafeRight;
|
|
|
|
bool bStrafeLeft;
|
|
|
|
|
|
|
|
Protocol_PlayerMovement()
|
|
|
|
{
|
2014-01-07 10:26:09 +01:00
|
|
|
this->protocol[protocol_INDEX_ID].value = protocol_Gameplay_PlayerNavigation;
|
|
|
|
this->protocol[protocol_INDEX_ID].type = Oyster::Network::NetAttributeType_Short;
|
2013-12-12 09:33:59 +01:00
|
|
|
|
2013-12-12 10:36:55 +01:00
|
|
|
this->protocol[1].type = Oyster::Network::NetAttributeType_Bool;
|
|
|
|
this->protocol[2].type = Oyster::Network::NetAttributeType_Bool;
|
|
|
|
this->protocol[3].type = Oyster::Network::NetAttributeType_Bool;
|
|
|
|
this->protocol[4].type = Oyster::Network::NetAttributeType_Bool;
|
|
|
|
this->protocol[5].type = Oyster::Network::NetAttributeType_Bool;
|
|
|
|
this->protocol[6].type = Oyster::Network::NetAttributeType_Bool;
|
2013-12-09 11:57:34 +01:00
|
|
|
}
|
2013-12-20 09:42:02 +01:00
|
|
|
const Protocol_PlayerMovement& operator=(Oyster::Network::CustomNetProtocol& val)
|
|
|
|
{
|
|
|
|
bForward = val[1].value.netBool;
|
|
|
|
bBackward = val[2].value.netBool;
|
|
|
|
bTurnLeft = val[3].value.netBool;
|
|
|
|
bTurnRight = val[4].value.netBool;
|
|
|
|
bStrafeRight = val[5].value.netBool;
|
|
|
|
bStrafeRight = val[6].value.netBool;
|
|
|
|
|
|
|
|
return *this;
|
|
|
|
}
|
2013-12-12 10:36:55 +01:00
|
|
|
Oyster::Network::CustomNetProtocol* GetProtocol() override
|
2013-12-09 11:57:34 +01:00
|
|
|
{
|
2013-12-12 09:33:59 +01:00
|
|
|
this->protocol[1].value = bForward;
|
|
|
|
this->protocol[2].value = bBackward;
|
|
|
|
this->protocol[3].value = bTurnLeft;
|
|
|
|
this->protocol[4].value = bTurnRight;
|
|
|
|
this->protocol[5].value = bStrafeRight;
|
|
|
|
this->protocol[6].value = bStrafeRight;
|
2013-12-09 11:57:34 +01:00
|
|
|
|
|
|
|
return &protocol;
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
2013-12-12 10:36:55 +01:00
|
|
|
Oyster::Network::CustomNetProtocol protocol;
|
2013-12-09 11:57:34 +01:00
|
|
|
};
|
2013-12-11 12:14:00 +01:00
|
|
|
|
2013-12-18 12:18:01 +01:00
|
|
|
struct Protocol_PlayerMouse :public Oyster::Network::CustomProtocolObject
|
|
|
|
{
|
|
|
|
|
|
|
|
float dxMouse;
|
|
|
|
float dyMouse;
|
|
|
|
|
|
|
|
|
|
|
|
Protocol_PlayerMouse()
|
|
|
|
{
|
2014-01-07 10:26:09 +01:00
|
|
|
this->protocol[protocol_INDEX_ID].value = protocol_Gameplay_PlayerMouseMovement;
|
|
|
|
this->protocol[protocol_INDEX_ID].type = Oyster::Network::NetAttributeType_Short;
|
2013-12-18 12:18:01 +01:00
|
|
|
|
|
|
|
this->protocol[1].type = Oyster::Network::NetAttributeType_Float;
|
|
|
|
this->protocol[2].type = Oyster::Network::NetAttributeType_Float;
|
|
|
|
|
|
|
|
}
|
2013-12-20 09:42:02 +01:00
|
|
|
const Protocol_PlayerMouse& operator=(Oyster::Network::CustomNetProtocol& val)
|
|
|
|
{
|
|
|
|
dxMouse = val[1].value.netFloat;
|
|
|
|
dyMouse = val[2].value.netFloat;
|
|
|
|
|
|
|
|
return *this;
|
|
|
|
}
|
2013-12-18 12:18:01 +01:00
|
|
|
Oyster::Network::CustomNetProtocol* GetProtocol() override
|
|
|
|
{
|
|
|
|
this->protocol[1].value = dxMouse;
|
|
|
|
this->protocol[2].value = dyMouse;
|
|
|
|
|
|
|
|
return &protocol;
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
|
|
Oyster::Network::CustomNetProtocol protocol;
|
|
|
|
};
|
|
|
|
|
2013-12-12 20:32:54 +01:00
|
|
|
struct Protocol_PlayerPosition :public Oyster::Network::CustomProtocolObject
|
2013-12-11 12:14:00 +01:00
|
|
|
{
|
2013-12-17 10:07:46 +01:00
|
|
|
|
2013-12-11 12:14:00 +01:00
|
|
|
float position[3];
|
|
|
|
// look at dir
|
|
|
|
|
|
|
|
Protocol_PlayerPosition()
|
|
|
|
{
|
2014-01-07 10:26:09 +01:00
|
|
|
this->protocol[protocol_INDEX_ID].value = protocol_Gameplay_PlayerPosition;
|
|
|
|
this->protocol[protocol_INDEX_ID].type = Oyster::Network::NetAttributeType_Short;
|
2013-12-11 12:14:00 +01:00
|
|
|
|
2013-12-12 20:32:54 +01:00
|
|
|
this->protocol[1].type = Oyster::Network::NetAttributeType_Float;
|
|
|
|
this->protocol[2].type = Oyster::Network::NetAttributeType_Float;
|
|
|
|
this->protocol[3].type = Oyster::Network::NetAttributeType_Float;
|
2013-12-11 12:14:00 +01:00
|
|
|
|
|
|
|
}
|
2013-12-20 09:42:02 +01:00
|
|
|
const Protocol_PlayerPosition& operator=(Oyster::Network::CustomNetProtocol& val)
|
|
|
|
{
|
|
|
|
position[0] = val[1].value.netFloat;
|
|
|
|
position[1] = val[2].value.netFloat;
|
|
|
|
position[2] = val[3].value.netFloat;
|
|
|
|
|
|
|
|
return *this;
|
|
|
|
}
|
2013-12-12 20:32:54 +01:00
|
|
|
Oyster::Network::CustomNetProtocol* GetProtocol() override
|
2013-12-11 12:14:00 +01:00
|
|
|
{
|
|
|
|
this->protocol[1].value = position[0];
|
|
|
|
this->protocol[2].value = position[1];
|
|
|
|
this->protocol[3].value = position[2];
|
|
|
|
return &protocol;
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
2013-12-12 20:32:54 +01:00
|
|
|
Oyster::Network::CustomNetProtocol protocol;
|
2013-12-11 12:14:00 +01:00
|
|
|
};
|
|
|
|
|
2013-12-09 11:57:34 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif // !GAMELOGIC_PLAYER_PROTOCOLS_H
|