From 8dc22c854c83f2d90efb63c7f5d926f577b52a23 Mon Sep 17 00:00:00 2001 From: Dander7BD Date: Wed, 12 Feb 2014 09:15:41 +0100 Subject: [PATCH] Overhaul of LobbyState --- .../GameClientState/LobbyState.cpp | 43 ++++++++------ .../DanBiasGame/GameClientState/LobbyState.h | 57 +++++++++---------- 2 files changed, 54 insertions(+), 46 deletions(-) diff --git a/Code/Game/DanBiasGame/GameClientState/LobbyState.cpp b/Code/Game/DanBiasGame/GameClientState/LobbyState.cpp index 9829b9a1..72ab9804 100644 --- a/Code/Game/DanBiasGame/GameClientState/LobbyState.cpp +++ b/Code/Game/DanBiasGame/GameClientState/LobbyState.cpp @@ -18,17 +18,11 @@ struct LobbyState::myData int modelCount; // UI object // game client* -}privData; +} privData; -LobbyState::LobbyState(void) -{ - -} +LobbyState::LobbyState(void) {} -LobbyState::~LobbyState(void) -{ - -} +LobbyState::~LobbyState(void) {} bool LobbyState::Init(Oyster::Network::NetworkClient* nwClient) { @@ -39,6 +33,7 @@ bool LobbyState::Init(Oyster::Network::NetworkClient* nwClient) InitCamera(Oyster::Math::Float3(0,0,5.4f)); return true; } + bool LobbyState::LoadModels(std::wstring file) { Oyster::Graphics::Definitions::Pointlight plight; @@ -137,13 +132,27 @@ bool LobbyState::Release() privData = NULL; return true; } -void LobbyState::Protocol(ProtocolStruct* protocol) -{ - if((PlayerName*)protocol) - PlayerJoinProtocol((PlayerName*)protocol); - -} -void LobbyState::PlayerJoinProtocol(PlayerName* name) -{ +using namespace ::Oyster::Network; + +void LobbyState::DataRecieved( NetEvent e ) +{ + CustomNetProtocol data = e.args.data.protocol; + short ID = data[0].value.netShort; // fetching the id data. + + // Block irrelevant messages. + if( !ProtocolIsLobby(ID) ) + return; + + switch(ID) + { + case protocol_Lobby_Create: break; /** @todo TODO: implement */ + case protocol_Lobby_Start: break; /** @todo TODO: implement */ + case protocol_Lobby_Join: break; /** @todo TODO: implement */ + case protocol_Lobby_Login: break; /** @todo TODO: implement */ + case protocol_Lobby_Refresh: break; /** @todo TODO: implement */ + case protocol_Lobby_ClientData: break; /** @todo TODO: implement */ + case protocol_Lobby_GameData: break; /** @todo TODO: implement */ + default: break; + } } \ No newline at end of file diff --git a/Code/Game/DanBiasGame/GameClientState/LobbyState.h b/Code/Game/DanBiasGame/GameClientState/LobbyState.h index 6a8d9772..44ffc6e8 100644 --- a/Code/Game/DanBiasGame/GameClientState/LobbyState.h +++ b/Code/Game/DanBiasGame/GameClientState/LobbyState.h @@ -8,35 +8,34 @@ namespace DanBias { namespace Client - { - -class LobbyState : public GameClientState -{ -private: - Oyster::Network::NetworkClient* nwClient; - struct myData; - myData* privData; -public: - LobbyState(void); - ~LobbyState(void); - bool Init(Oyster::Network::NetworkClient* nwClient); - bool LoadModels(std::wstring file); - bool InitCamera(Oyster::Math::Float3 startPos); - ClientState Update(float deltaTime, InputClass* KeyInput); - // create session lobby - // join session lobby - // set name - // set rules - // set map - // ready - // chat - // kick + { + class LobbyState : public GameClientState + { + private: + Oyster::Network::NetworkClient* nwClient; + struct myData; + myData* privData; + public: + LobbyState(void); + ~LobbyState(void); + bool Init(Oyster::Network::NetworkClient* nwClient); + bool LoadModels(std::wstring file); + bool InitCamera(Oyster::Math::Float3 startPos); + ClientState Update(float deltaTime, InputClass* KeyInput); + // create session lobby + // join session lobby + // set name + // set rules + // set map + // ready + // chat + // kick - bool Render(); - bool Release(); - void Protocol(ProtocolStruct* protocol)override; - void PlayerJoinProtocol(PlayerName* name); - void GameStarted(); + bool Render(); + bool Release(); -};};}; + void DataRecieved( ::Oyster::Network::NetEvent e ); + }; + } +} #endif // ! DANBIAS_CLIENT_GAMECLIENTSTATE_H