Danbias/Code/Game/DanBiasGame/GameClientState/GameClientState.h

73 lines
1.2 KiB
C
Raw Normal View History

#ifndef DANBIAS_CLIENT_GAMECLIENTSTATE_H
#define DANBIAS_CLIENT_GAMECLIENTSTATE_H
#define NOMINMAX
#include "L_inputClass.h"
#include "NetworkClient.h"
namespace DanBias
{
namespace Client
{
class GameClientState
{
public:
2013-12-13 12:02:49 +01:00
struct ProtocolStruct
{
};
struct ObjPos :public ProtocolStruct
{
2013-12-17 10:07:46 +01:00
int object_ID;
2013-12-13 12:02:49 +01:00
float worldPos[16];
};
2013-12-18 12:18:01 +01:00
struct NewObj :public ProtocolStruct
{
int object_ID;
char* path;
float worldPos[16];
};
2013-12-18 15:28:47 +01:00
struct RemoveObj :public ProtocolStruct
{
int object_ID;
//particle effect
};
2013-12-17 13:39:10 +01:00
struct KeyInput :public ProtocolStruct
{
bool key[6];
};
2013-12-13 12:02:49 +01:00
struct PlayerPos :public ProtocolStruct
{
float playerPos[3];
};
struct PlayerMove :public ProtocolStruct
{
float playerPos[3];
};
struct PlayerName :public ProtocolStruct
{
char name[255];
};
enum ClientState
{
2014-01-30 11:58:44 +01:00
ClientState_Login,
ClientState_Lobby,
ClientState_LobbyCreated,
ClientState_Game,
ClientState_Same,
};
public:
GameClientState(void);
virtual ~GameClientState(void);
virtual bool Init(Oyster::Network::NetworkClient* nwClient) = 0;
virtual ClientState Update(float deltaTime, InputClass* KeyInput) = 0;
virtual bool Render() = 0;
virtual bool Release() = 0;
2013-12-13 12:02:49 +01:00
virtual void Protocol(ProtocolStruct* protocolStruct) = 0;
};
};
};
#endif