///////////////////////////////////////////////////////////////////// // Created by [Dennis Andersen] [2013] ///////////////////////////////////////////////////////////////////// #ifndef DANBIASSERVER_CLIENT_OBJECT_H #define DANBIASSERVER_CLIENT_OBJECT_H #include #include #include #include namespace DanBias { /** * Container to keep logic player and network client together as a unit. */ class GameClient { public: GameClient(Utility::DynamicMemory::SmartPointer client, GameLogic::IPlayerData* player); virtual~GameClient(); GameLogic::IPlayerData* GetPlayer(); GameLogic::IPlayerData* ReleasePlayer(); Utility::DynamicMemory::SmartPointer GetClient(); Utility::DynamicMemory::SmartPointer ReleaseClient(); int GetID() const; bool Equals(const Oyster::Network::NetworkClient* c); private: GameLogic::IPlayerData* player; Utility::DynamicMemory::SmartPointer client; int id; }; }//End namespace DanBias #endif // !DANBIASSERVER_CLIENT_OBJECT_H