///////////////////////////////////////////////////////////////////// // Created by [Dennis Andersen] [2013] ///////////////////////////////////////////////////////////////////// #ifndef DANBIASSERVER_CLIENT_OBJECT_H #define DANBIASSERVER_CLIENT_OBJECT_H #include "..\LobbySessions\LobbyClient.h" #include #include namespace DanBias { class GameClient: Oyster::Callback::CallbackObject { public: GameClient(Utility::DynamicMemory::SmartPointer client, GameLogic::IPlayerData* player, Oyster::Callback::OysterCallback value); virtual~GameClient(); void SetCallback(Oyster::Callback::OysterCallback value); /* */ GameLogic::IPlayerData* GetPlayer(); GameLogic::IPlayerData* ReleasePlayer(); LobbyClient* GetClient() const; Utility::DynamicMemory::SmartPointer ReleaseClient(); int GetID() const; private: //Utility::DynamicMemory::SmartPointer player; GameLogic::IPlayerData* player; Utility::DynamicMemory::SmartPointer client; Oyster::Callback::OysterCallback callbackValue; int id; void ObjectCallback(NetworkSession::NetEvent) override; private: friend class AdminInterface; }; }//End namespace DanBias #endif // !DANBIASSERVER_CLIENT_OBJECT_H